0

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

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

4

1 回答 1

1

Width如果您将控件的and设置Height为固定值和HorizontalAlignmentandVerticalAlignmentStretch代替 ,它将自动表现得像这样Center

<Border BorderBrush="Red" BorderThickness="5">
    <my:MyControl Width="200" Height="150"
                  HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Border>
于 2013-08-14T12:55:44.147 回答