我正在使用画布来产生我的扩展器在其下方元素上的悬停效果,并将其宽度限制在扩展器上。但是,我刚刚注意到(当我更改语言时)其中一个元素是一个长字符串,当它可见时它向父节点(扩展器)提供宽度,但不是。
<Canvas Width="{Binding ActualWidth, ElementName=TheExpander}">
<Expander Name="TheExpander" ...>
<ListBox ... >
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox ... />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Expander>
</Canvas>
有没有相对简单的方式吗?如果正确的解决方案要求我重建标记,我相信我更愿意简单地将画布的宽度设置为丑陋,令人讨厌并且让我感到耳目一新,即硬盘-coded。
答案 0 :(得分:0)
你应该几乎从不硬编码宽度和高度。让WPF布局引擎弄明白。这就是它的用途。类似StackPanel等的东西会根据需要增长。