0
<DataTemplate DataType="{x:Type MyType}">
    ...
</DataTemplate>

我有一个 MyType 的默认 DataTemplate。想要防止在下面使用它而不必指定真正的 DataTemplate

<ItemsControl ItemsSource="{whateverList of MyType}" ItemTemplate="{x:Null}"/>

ItemTemplate="{x:Null}"没有完成工作 -> 显示默认 DataTemplate 会对“ToString()”显示感到满意

有任何想法吗?

4

1 回答 1

0

如果要覆盖该类型的默认数据模板,则必须指定一个不同的模板:

<ItemsControl ItemsSource="{listOfMyType}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <!-- Whatever -->
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

这里有更多关于这种方法的讨论,包括另一个人尝试使用{x:Null}模板。

如果您的模板需要ToString()为您的类型绑定到 (并且类型中不存在为您执行此操作的属性),您将需要使用IValueConverter,如此所述。

于 2013-01-19T19:17:12.300 回答