WPF Expander内容展开后超出窗体边界,如何自动调整

xqandpan 2012-11-07 01:48:20
WPF的Expander控件,Expander.Content里面定义了另一个UserControl,来实现一些相关数据项的编辑功能。为了完整显示UserControl的内容,UserControl的Size有时候需要设置的比较大。而Expander控件处于窗口的最右边,展开之后,发现UserControl只有很小的一部分被显示了出来,其余超出窗口右边界的部分都被自动裁剪掉了。

请问有没有办法可以让Expander在Expanded之后,及时里面的UserControl超出了窗口右边界,也可以自动调整以完整显示UserControl的内容?

谢谢
...全文
1070 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqandpan 2012-11-07
  • 打赏
  • 举报
回复 1
是自适应大小的,不过当content的内容超过了窗口的边界之后,超出的部分就会被自动裁剪掉。ScollViewer我也加过,无效的。 不过我还是找到了解决方案,那就是利用Popup,把UserControl放到一个独立的窗口里面去。

<Expander IsExpanded="False" Canvas.Left="3" Canvas.Top="3" x:Name="conditionIDExpander">
    <Expander.Content>
        <Popup AllowsTransparency="False" IsOpen="{Binding IsExpanded, ElementName=conditionIDExpander}" Placement="Bottom" Margin="2">
            <atuoControl:Task_conditionManager  Width="800" Height="300" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1"></atuoControl:Task_conditionManager>
        </Popup>
    </Expander.Content>
</Expander>
我把我的XAML代码发上来,仅供参考
sundayX 2012-11-07
  • 打赏
  • 举报
回复
可以通过加滚动条实现。 Expander不设置大小的话,会根据其content自动适应大小。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧