代码之家  ›  专栏  ›  技术社区  ›  Alan Mendelevich

DisplayMemberPath等属性成为依赖属性的原因/场景是什么?

  •  2
  • Alan Mendelevich  · 技术社区  · 14 年前

    有人能解释一下为什么要这么说吗ItemsControl.DisplayMemberPath依赖属性而不仅仅是常规CLR属性?

    谢谢。

    这个问题的原因是这样的陈述

    财产并不总是必要的或必要的 需要。有时,典型的 有一个私人领域就足够了。

    MSDN documentation 哪种类型使得控件开发人员质疑依赖属性的声明,这些声明没有作为依赖项的明显好处属性.with私人领域是足够的。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Community CDub    7 年前

    :作为一个开发人员,你不能假设没有人需要某个特定的特性(在特定的情况下)。当我开发任何自定义控件时,我确保所有公共属性都是DP,因为您永远不知道使用该控件/属性的人可能需要绑定它或在样式中使用它等。 所以最好保持一致;因为,如果某些控件属性支持绑定、样式等,我希望其他属性也支持它们。

    我在使用像Sync fusion这样的第三方控件时经常遇到这个问题;在许多情况下,我们提出了要求对各种控件属性提供绑定支持的问题。如本问题所述:

    Why do so many wpf controls implement CLR properties instead of dependency properties?

    将这个属性作为DP可能有特殊的原因,但一般来说,我没有遇到任何不是DP的属性(WPF控件);这非常有用,您可以设计UI(使用绑定、样式等),而不必检查所有控件的每个属性。

        2
  •  1
  •   Bryan Anderson    14 年前

    DisplayMemberPath

    例如,如果要创建 DataGrid 显示成员路径

    您还可以在样式或模板触发器中设置它,以根据某些条件显示一个或另一个成员。