私が思ったことを実装しようとするのは単純な概念でした。私は、データのリストを提供するビューモデルにバインドされたユーザーコントロール(ビュー)を持っています。ユーザーコントロールにトグルボタンを追加し、ユーザーがこれらのトグルボタンを使用してデータを表示するために使用するテンプレートを切り替えることを許可したいと考えています。データに使用されているテンプレートはすべて、非常に異なっているため、単一のテンプレートだけを変更するだけではありません。私は可能な限りXAMLでこれを多く得たいと思います。WPF:UserControlデータに基づくテンプレートの切り替え
は、ここで私が今持っているものです。
データは、私は「サブテンプレート」すべて持っているコントロールテンプレートでは
<UserControl Template="{StaticResource ListSwitchingControlTemplate}" />
を持って表示されます
私はむしろ実行時に本当にテンプレートを切り替えることができます。私は含まれているユーザーコントロールをContentTemplateを使用するように変換しようとしましたが、それは他の場所にあるすべてのバインディングを壊してしまいます。 UserControlsだけがDataTriggersを使用できる場合、私は大丈夫でしょう。
この動作を正常に行う方法については、ご提案ください。私は単純なものを見逃しているという考えがあります。
おかげで、 デイブ
私はDataTemplateSelectorルートを行くことなく、これまでにこれを行うための方法を見つけていませんでした。それでも、テンプレート内のデータは、どのように表示されるかを知らないため、表示するテンプレートの決定に役立つことはありません。代わりに、私の場合は、ユーザーコントロールの他の場所にあるトグルボタンの外側にあります。 –