【问题标题】:How do I understand WPF binding? DisplayMemberBinding vs DataTemplate GridView Binding?我如何理解 WPF 绑定? DisplayMemberBinding 与 DataTemplate GridView 绑定?
【发布时间】:2012-06-12 21:46:48
【问题描述】:

我对 WPF 中的绑定感到非常困惑。例如,与 ListView 的绑定可以通过 DisplayMemberBinding 完成,但也可以通过使用 DataTemplate in grid view 完成。

我什么时候使用一种方法而不是另一种方法?

有人可以建议如何理解绑定吗?

【问题讨论】:

    标签: .net wpf data-binding


    【解决方案1】:

    DataTemplates 允许复杂的结构可能显示各种成员DisplayMemberBinding 只显示对象的一个成员。就是这样,阅读数据绑定on MSDN。另请参阅Data Templating Overview

    【讨论】:

      【解决方案2】:

      如果您使用DisplayMemberBinding,则使用Textblock。如果您需要使用其他 UI 元素,则需要使用 DataTemplate

      来自文档 GridViewColumn.DisplayMemberBinding Property

      以下属性都用于定义列单元格的内容和样式,此处按优先级顺序列出,从高到低:

      DisplayMember绑定

      单元格模板

      细胞模板选择器

      【讨论】:

      • 你确定吗?我会假设它只对字符串这样做。
      • 它在其他类型上调用ToString() 以使它们成为string - DisplayMemberPath 只会显示一个成员,并且只会将其显示为string。正如 Blam 所说,如果您需要使用另一个 UI 元素,那么您需要使用 DataTemplate
      • @H.B.据我所知,Gridview 没有像 DataGrid 这样的各种列类型。
      • @Blam:我的意思是,如果有一个 DataTemplate 与可以被隐式使用。然后字符串只会显示在 TextBlock 中。
      • @H.B.我只能评论我的经历,而不是它能做什么。我的经验是 Gridview 不支持外部模板。也许我做错了。
      猜你喜欢
      • 1970-01-01
      • 2012-06-21
      • 2015-01-29
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多