次のコードについて何が間違っていますか?WPF:トリガーターゲット 'cc'が見つかりません。ターゲットはセッター、トリガーの前に現れなければならない
私はコンパイル時にこのエラーを取得:「CC」という名前の要素が見つからなかったため
プロパティ「TargetNameは」は「セッター」の有効なターゲットを表していません。ターゲットがそれを使用するセッター、トリガーまたは条件の前に宣言されていることを確認してください。
エラーを発生させずにコードをコンパイルできるようにするには、どうすればコードをリファクタリングする必要がありますか?
私は、DataTriggerを使用して、PersonViewModelの値にバインドされたデータテンプレートを切り替えたいだけです!
<ContentControl x:Name="cc" Grid.Column="1">
<DataTemplate>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=CurrentPersonViewModel.IsNew}" Value="True">
<Setter TargetName="cc" Property="ContentTemplate" Value="{DynamicResource NewPersonId}" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=CurrentPersonViewModel.IsNew}" Value="False">
<Setter TargetName="cc" Property="ContentTemplate" Value="{DynamicResource SelectedPersonId}" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl>
これは右見ていません。 'ContentControl'に' Content'として 'DataTemplate'を追加しません。私はあなたが1つを設定した後に(簡単に)テンプレートを切り替えることができるとは思わない?代わりに、 'DataContext'のデータに応じて、1つのテンプレート内のコンテンツの可視性を切り替えて、その一部を表示/非表示にすることができます。 – decyclone