我正在尝试创建一个菜单系统,该系统在面板被视觉状态更改关闭之后但在面板重新打开之前(想想滑入/滑出过滤器)更改面板的内容模板。我希望使用数据触发器的组合来实现这一点,但我并不高兴:(为简洁起见,省略了一些代码,但我的触发器设置如下所示:
<ContentControl x:Name="contentControl" Content="{Binding SelectedThing}"
DataContext="{Binding}" Width="200">
<ContentControl.ContentTemplate>
<DataTemplate>
<ContentControl Name="cc"
Content="{Binding}" />
<DataTemplate.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Value="People"
Binding="{Binding Path=Name}">
</Condition>
<Condition Value="0"
Binding="{Binding ElementName=contentControl,Path=Width}">
</Condition>
</MultiDataTrigger.Conditions>
<Setter TargetName="cc"
Property="ContentTemplate"
Value="{StaticResource PeopleTemplate}" />
</MultiDataTrigger>
……
当我省略 contentControl 宽度上的绑定但我无法确定原因时,触发器会正确更改模板(宽度是通过视觉状态的变化来设置动画的)?
有任何想法吗?
谢谢