获取子节点最宽子节点的ActualWidth
本文关键字:子节点 ActualWidth 获取 | 更新日期: 2023-09-27 18:08:34
我使用画布来生成展开器在其下方元素上的悬停效果,并将其宽度绑定到展开器的宽度。然而,我刚刚注意到(当我改变语言时),其中一个元素是一个长字符串,当它可见时,它将其宽度提供给父元素(扩展器),而不是其他。
<Canvas Width="{Binding ActualWidth, ElementName=TheExpander}">
<Expander Name="TheExpander" ...>
<ListBox ... >
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox ... />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Expander>
</Canvas>
是否有相对简单的方法来做到这一点?如果正确的解决方案需要我重新构建标记,我相信我会更喜欢简单地设置画布的宽度,即硬编码。
你应该几乎不硬编码宽度和高度。让WPF布局引擎来解决这个问题。这就是它存在的意义。像StackPanel之类的东西会根据需要增长。