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

时间:2013-08-14 12:15:22

标签: c# wpf

想象一下。我有一个Border,其中包含一些自定义的wpf控件,我们称之为MyControl。当调整窗口大小时(填充可用空间),此Border会自行伸展。 MyControl大小已修复。现在,我希望我的控件在适合可用空间时有HorizontalAlignment="Center",而在HorizontalAlignment="Left"不适用时有SizeChanged。我虽然无法弄清楚如何实现这种行为。

我想,我可以订阅Border的ActualWidth事件,并根据BorderMyControl的{​​{1}}更改代码隐藏中的对齐方式,但不在那里更简单的方法?这可以通过数据绑定或附加行为来实现吗?

1 个答案:

答案 0 :(得分:1)

如果您将控件的WidthHeight设置为固定值,HorizontalAlignmentVerticalAlignment设置为Stretch而不是{{},则会自动执行此操作1}}:

Center