【问题标题】:When to use Path in WPF Binding?何时在 WPF 绑定中使用路径?
【发布时间】:2011-03-31 02:07:36
【问题描述】:

我已经看过很多 WPF 绑定示例,并且在学习 MVVM 的许多不同地方都使用了该功能,但对我来说似乎非常不一致的是,当您在绑定字符串中指定“Path=”为只需键入要绑定的属性即可。例如,以下 XAML 属性之间的功能差异是什么:

DataMemberBinding="{Binding SomeProperty}"
DataMemberBinding="{Binding Path=SomeProperty}"

【问题讨论】:

    标签: wpf xaml data-binding


    【解决方案1】:

    没有功能上的区别。 Binding 对象的默认属性是 Path,这意味着如果您不指定要设置的属性,那么您将设置 Path。

    这是因为 Binding 对象有两个构造函数,一个是默认构造函数,一个是接受单个字符串参数的构造函数。当您传入一个值而不标记它时,该属性将被转发到匹配的构造函数,在 Binding 的情况下,这将设置路径。它在概念上与属性的工作方式非常相似,调用构造函数后跟可选参数,例如:

    [AttributeUsage(AttributeTargets.Class), AllowMultiple = false, Inherited = false ]
    

    可能方式超出了您实际提出的问题,但我注意到两者之间存在细微(并且可能无关紧要)的差异。由于我自己无法解释,所以我提出了一个关于它的新问题here

    【讨论】:

    • 所以如果我想指定其他参数,比如 Mode,那么我需要明确地将其标记为 Path?
    • 不,如果路径是您的第一个参数,则不会: 将起作用, 不会, 会。
    猜你喜欢
    • 2013-05-09
    • 2020-10-26
    • 2019-06-03
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    相关资源
    最近更新 更多