繁体   English   中英

如何根据可用空间更改控件对齐方式?

[英]How to change control alignment depending on available space?

想象一下。 我有一个包含一些自定义wpf控件的Border ,让我们称之为MyControl 调整窗口大小(以填充可用空间)时,此Border拉伸。 MyControl大小是固定的。 现在,我希望我的控件在适合可用空间时具有HorizontalAlignment="Center"在不适合可用空间时具有HorizontalAlignment="Left" 我在弄清楚如何实现这种行为时遇到了麻烦。

我猜,我可以订阅Border的SizeChanged事件并根据BorderMyControl ActualWidth更改代码隐藏的对齐方式,但是没有更简单的方法吗? 是否可以通过数据绑定或附加行为来实现?

如果将控件的WidthHeight为固定值,然后将HorizontalAlignmentVerticalAlignmentStretch而不是Center ,它将自动表现为:

<Border BorderBrush="Red" BorderThickness="5">
    <my:MyControl Width="200" Height="150"
                  HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Border>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM