【问题标题】:WPF Binding Syntax QuestionWPF 绑定语法问题
【发布时间】:2011-01-30 22:24:56
【问题描述】:

我已经看到这个语法出现了,并试图用谷歌搜索它的定义,但无济于事;这样绑定dp是什么意思?

<Grid>
    <ContentControl Content="{Binding}"/>
</Grid>

我假设您必须绑定到 DataContext 上的某些属性或其他元素,但这似乎没有绑定任何内容。

【问题讨论】:

  • 同样的行为给出类似“{Binding .}”的语法(简称“{Binding Path=.}”)。有人可以解释一下这个点的含义吗?

标签: wpf binding datacontext


【解决方案1】:

我相信这意味着您正在绑定到任何绑定上下文的根。因此,如果您在属于某种列表控件的数据模板中使用此语法,您将绑定到任何父控件(列表控件)绑定到的根级别。

【讨论】:

    【解决方案2】:

    我相信 {Binding} 指的是 DataContext 本身。

    编辑(澄清):DataContext 是指当前级别的DataContext。例如,如果您的窗口的 DataContext 绑定到一个 List,那么将您窗口中 ListBox 控件上的 ItemsSource 设置为 {Binding} 会将 ListBox 绑定到 List 本身,而不是 List 的属性,如 Count。

    【讨论】:

      【解决方案3】:

      {Binding} 用于 {Binding [CurrentDataContext]}

      【讨论】:

        【解决方案4】:

        {Binding} 表示您要绑定到可以在对象本身上设置的当前 DataContext。如果当前对象上没有设置 DataContext,那么它将沿着 VisualTree 查找最近的具有 DataContext 的 Parent。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-18
          • 2010-12-09
          • 1970-01-01
          相关资源
          最近更新 更多