0

これまで、1つのタイプのオブジェクトのみを含む監視可能なコレクションがありましたが、現在は2番目のタイプのオブジェクトが含まれています。いくつかのwpf要素をこのコレクションの要素にバインドしました。今必要なのは、コレクション内でバインドするオブジェクトの種類に応じて入力フォームが変わることです。それへの最善のアプローチは何ですか?

4

1 に答える 1

4

DataTemplateなしで使用しますx:Keyが、ありDataType={x:Type typename}ます。コレクション内のタイプごとに1つのデータテンプレートを記述します。次に、WPFは、コレクション内のアイテムの種類に一致するデータテンプレートを自動的に選択します。

例:

<DataTemplate DataType="{x:Type local:StringType}">
  <TextBox Text="{Binding Text}" />
</DataTemplate>
<DataTemplate DataType="{x:Type local:BooleanType}">
  <CheckBox IsChecked="{Binding Value}" />
</DataTemplate>
于 2012-05-30T16:03:21.057 に答える