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

Gus*_*nti 2 wpf layout canvas dock

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

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

Height="{Binding ElementName=MainCanvas, Path=Height}" 
Width="{Binding ElementName=MainCanvas, Path=Width}"
Run Code Online (Sandbox Code Playgroud)

Jos*_*h G 8

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

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

Height="{Binding ElementName=MainCanvas, Path=ActualHeight}"
Width="{Binding ElementName=MainCanvas, Path=ActualWidth}"
Run Code Online (Sandbox Code Playgroud)

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