WPF - 如何将边框停靠在画布上?

时间:2009-03-19 20:10:20

标签: wpf layout canvas dock

我在画布中有一个边框。边框的高度/宽度根据其内容而变化。我希望边框伸展以填满整个画布。我怎么能这样做?

我在边境上试过这个没有成功:

Height="{Binding ElementName=MainCanvas, Path=Height}" 
Width="{Binding ElementName=MainCanvas, Path=Width}"

1 个答案:

答案 0 :(得分:8)

画布是否有明确的高度/宽度?它可能是自动调整大小,高度/宽度为double.NaN。

尝试将子高度/宽度绑定到画布的ActualHeight和ActualWidth,如下所示:

Height="{Binding ElementName=MainCanvas, Path=ActualHeight}"
Width="{Binding ElementName=MainCanvas, Path=ActualWidth}"

即使将子项设置为Horizo​​ntalAlignment.Stretch(或垂直),Canvas Panel也不会告诉孩子相对于其大小的大小。所以绑定在这里是一个很好的解决方案。