【发布时间】:2012-06-12 21:46:48
【问题描述】:
我对 WPF 中的绑定感到非常困惑。例如,与 ListView 的绑定可以通过 DisplayMemberBinding 完成,但也可以通过使用 DataTemplate in grid view 完成。
我什么时候使用一种方法而不是另一种方法?
有人可以建议如何理解绑定吗?
【问题讨论】:
标签: .net wpf data-binding
我对 WPF 中的绑定感到非常困惑。例如,与 ListView 的绑定可以通过 DisplayMemberBinding 完成,但也可以通过使用 DataTemplate in grid view 完成。
我什么时候使用一种方法而不是另一种方法?
有人可以建议如何理解绑定吗?
【问题讨论】:
标签: .net wpf data-binding
DataTemplates 允许复杂的结构可能显示各种成员,DisplayMemberBinding 只显示对象的一个成员。就是这样,阅读数据绑定on MSDN。另请参阅Data Templating Overview。
【讨论】:
如果您使用DisplayMemberBinding,则使用Textblock。如果您需要使用其他 UI 元素,则需要使用 DataTemplate。
来自文档 GridViewColumn.DisplayMemberBinding Property
以下属性都用于定义列单元格的内容和样式,此处按优先级顺序列出,从高到低:
DisplayMember绑定
单元格模板
细胞模板选择器
【讨论】:
ToString() 以使它们成为string - DisplayMemberPath 只会显示一个成员,并且只会将其显示为string。正如 Blam 所说,如果您需要使用另一个 UI 元素,那么您需要使用 DataTemplate
DataTemplate 与可以被隐式使用。然后字符串只会显示在 TextBlock 中。