0

到目前为止,我有一个可观察的集合,其中只有一种类型的对象,但现在我有第二种类型的对象。我已经将一些 wpf 元素绑定到这个集合的元素,我现在想要的是输入表单根据它绑定到集合中的哪种对象而改变。最好的方法是什么?

4

1 回答 1

4

使用DataTemplate不带x:Key,但带DataType={x:Type typename}。为集合中的每种类型编写一个数据模板。然后,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 回答