ListView DisplayMemberPath模板错误?

时间:2012-01-31 15:51:29

标签: wpf listview gridview controltemplate

我想知道是否有人知道这个问题。似乎为ListViewItem提供的here默认模板不支持ListView的DisplayMemberPath

实施例

<ListView ItemsSource="{Binding SomeSource}" DisplayMemberPath="Name" />

不会按预期显示项目。如果我将GridViewRowPresenter替换为ContentPresenter,它将有效。因此,编写完整工作模板的解决方法是使用DisplayMemberPathValue=""编写DataTrigger,然后将模板设置为包含GridViewRowPresenter的模板。如果我不这样做,使用ItemsPresenter的GroupStyle将无效。

我的问题:这是一个错误还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

我问了一个类似的问题here

DisplayMemberPath属性实际上是一个快捷方式,它将告诉WPF创建默认项目模板,其中只有TextBlock,其文本绑定到DisplayMemberPath中的任何字段

如果您在设置DisplayMemberPath之外覆盖项目模板,那么您基本上会覆盖DisplayMemberPath为您创建的模板,因此该属性变得毫无用处。