Visual State の変更によってパネルが閉じられた後、パネルが再度開かれる前に、パネルのコンテンツ テンプレートを変更するメニュー システムを作成しようとしています (スライド イン/アウト フィルターを考えてください)。データトリガーの組み合わせを使用してこれを達成したいと思っていましたが、喜びがありません:(一部のコードは簡潔にするために省略されていますが、私のトリガー設定は次のようになります:
<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 幅のバインディングを省略すると、トリガーはテンプレートを正しく変更しますが、その理由を特定できません (幅は視覚状態の変化によってアニメーション化されます)。
何か案は?
ありがとう