【问题标题】:Any good reason for DataContext="{Binding}"?DataContext="{Binding}" 有什么好的理由吗?
【发布时间】:2013-02-06 12:57:33
【问题描述】:

我在一些我继承的 xaml 代码中找到了多次DataContext="{Binding}"

是我遗漏了什么,还是说它真的没用?

谢谢

【问题讨论】:

    标签: wpf binding datacontext


    【解决方案1】:

    DataContext="{Binding}" 没用。
    但这并不意味着{Binding} 通常毫无用处。对于其他属性,使用它非常好。

    例子:

    <ListBox ItemsSource="{Binding}" />
    

    这会将数据上下文绑定为列表框项目的来源。显然,数据上下文应该是某种列表。

    【讨论】:

    • 谢谢。你会说这不仅仅是无用的,危险的吗?这不会造成某种循环吗?
    • 我不能肯定地说,但这里有一些想法:如果它会创建一个循环,它不会工作,因为没有退出条件。因此,我认为这并不危险。
    • 不存在循环危险,因为 DataContext 上的绑定使用继承的 DataContext,而不是本地 DataContext。如果不是这样,您将永远无法在未明确指定 Source 的 DataContext 上设置任何绑定,显然情况并非如此。
    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 2011-03-14
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    相关资源
    最近更新 更多