我有一个扩展器列表,我想用全局切换按钮控制其扩展状态(IsExpanded),该按钮应在展开/折叠状态之间切换.
到目前为止我所获得的解决方案是通过将扩展器的IsExpanded状态绑定到togglebutton的IsChecked状态来实现的.只要我不手动切换扩展器,这就可以工作.一旦我这样做,那些特定的扩展器不会尊重绑定(切换按钮的IsChecked状态).
知道为什么吗?XAML中有一个干净的解决方案吗?
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<StackPanel>
<ToggleButton Name="ExpandAll">Toggle</ToggleButton>
<Expander IsExpanded="{Binding ElementName=ExpandAll,Path=IsChecked, Mode=OneWay}">
Hai
</Expander>
<Expander IsExpanded="{Binding ElementName=ExpandAll,Path=IsChecked, Mode=OneWay}">
Hello
</Expander>
<Expander IsExpanded="{Binding ElementName=ExpandAll,Path=IsChecked, Mode=OneWay}">
Weird
</Expander>
</StackPanel>
</Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)
小智 7
我知道这篇文章很老了.只需将其发布给遇到的其他人.以下代码对我有用.
<Expander IsExpanded="{Binding ElementName=ExpandAll, Path=IsChecked, UpdateSourceTrigger=Explicit}">
</Expander>
Run Code Online (Sandbox Code Playgroud)
这在扩展器动态生成时有效,例如在内部DataGrid.RowDetailsTemplate.
| 归档时间: |
|
| 查看次数: |
5755 次 |
| 最近记录: |