[英]How to change control alignment depending on available space?
想象一下。 我有一个包含一些自定义wpf控件的Border
,让我们称之为MyControl
。 调整窗口大小(以填充可用空间)时,此Border
拉伸。 MyControl
大小是固定的。 现在,我希望我的控件在适合可用空间时具有HorizontalAlignment="Center"
在不适合可用空间时具有HorizontalAlignment="Left"
。 我在弄清楚如何实现这种行为时遇到了麻烦。
我猜,我可以订阅Border的SizeChanged
事件并根据Border
和MyControl
ActualWidth
更改代码隐藏的对齐方式,但是没有更简单的方法吗? 是否可以通过数据绑定或附加行为来实现?
如果将控件的Width
和Height
为固定值,然后将HorizontalAlignment
和VerticalAlignment
为Stretch
而不是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.