我想知道是否有人知道这个问题。似乎为ListViewItem提供的here默认模板不支持ListView的DisplayMemberPath
。
实施例
<ListView ItemsSource="{Binding SomeSource}" DisplayMemberPath="Name" />
不会按预期显示项目。如果我将GridViewRowPresenter
替换为ContentPresenter
,它将有效。因此,编写完整工作模板的解决方法是使用DisplayMemberPath
为Value=""
编写DataTrigger,然后将模板设置为包含GridViewRowPresenter的模板。如果我不这样做,使用ItemsPresenter的GroupStyle将无效。
我的问题:这是一个错误还是我做错了什么?
答案 0 :(得分:3)
我问了一个类似的问题here
DisplayMemberPath
属性实际上是一个快捷方式,它将告诉WPF创建默认项目模板,其中只有TextBlock
,其文本绑定到DisplayMemberPath
中的任何字段
如果您在设置DisplayMemberPath
之外覆盖项目模板,那么您基本上会覆盖DisplayMemberPath
为您创建的模板,因此该属性变得毫无用处。