我有以下画布:
<Canvas Width="800" Height="600">
<Rectangle Fill="#FF333333" Height="124" Width="500"
Canvas.Bottom="0" />
<Rectangle Fill="#FF333333" Height="124" Width="500"
Canvas.Bottom="150" Canvas.Left="150"/>
<Rectangle Fill="#FF333333" Height="124" Width="500"
Canvas.Bottom="300"/>
</Canvas>
我想获得矩形组占据的矩形空间的大小(宽度和高度)。 在上面的例子中,我期待这些值:
ContentWidth = 650 (= 500 + 150)
ContentHeight = 424 (= 300 + 124)
ActualWidth和ActualHeight分别返回800和600,这不是我想要的。 有什么想法吗?
答案 0 :(得分:1)
我担心你想要的,需要手动计算。问题是Canvas
是一个没有DesiredHeight
和DesiredWidth
的面板,这意味着它不会计算子项的宽度/高度来建议所需的大小它
你可以像:Rachel
所说的那样计算它,或者你可以创建一个具有所需矩形属性的新面板(像CustomCanvas
这样的东西)。
希望这些提示有帮助...