WPF - 如何将边框停靠在画布上?
Posted
技术标签:
【中文标题】WPF - 如何将边框停靠在画布上?【英文标题】:WPF - How to dock a Border onto a Canvas? 【发布时间】:2009-03-19 20:10:19 【问题描述】:我在画布内有一个边框。边框的高度/宽度根据其内容而变化。我希望边框伸展以填满整个画布。我该怎么做?
我在边界上试过这个没有成功:
Height="Binding ElementName=MainCanvas, Path=Height"
Width="Binding ElementName=MainCanvas, Path=Width"
【问题讨论】:
你为什么不把画布放在边框里面呢?这样您甚至不必进行额外的绑定。 【参考方案1】:画布是否有明确的高度/宽度?它可能是自动调整大小并且具有 double.NaN 的高度/宽度。
尝试将子高度/宽度绑定到画布的 ActualHeight 和 ActualWidth,如下所示:
Height="Binding ElementName=MainCanvas, Path=ActualHeight"
Width="Binding ElementName=MainCanvas, Path=ActualWidth"
画布面板永远不会告诉孩子相对于他们的尺寸大小,即使孩子被设置为 HorizontalAlignment.Stretch(或垂直)。所以绑定在这里是一个很好的解决方案。
【讨论】:
非常感谢乔希!我需要 ActualHeight/ActualWidth 而不是 Height/Width。以上是关于WPF - 如何将边框停靠在画布上?的主要内容,如果未能解决你的问题,请参考以下文章
如何将边框半径应用于像 div 这样的画布元素以使其成为圆形?