Я пытаюсь создать систему меню, которая изменяет шаблон содержимого для панели ПОСЛЕ того, как панель была закрыта из-за изменения визуального состояния, но до повторного открытия панели (подумайте о фильтре вставки / извлечения). Я надеялся добиться этого, используя комбинацию триггеров данных, но не испытывал радости :( Для краткости был опущен некоторый код, но моя настройка триггера выглядит следующим образом:
<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, но я не могу определить, почему (ширина анимируется через изменение визуального состояния)?
Есть идеи?
Спасибо