未指定Source和DataContext时的默认绑定

时间:2012-09-06 16:09:50

标签: .net wpf xaml data-binding

我正试图掌握WPF中数据绑定的一些细微差别。我理解可以直接在绑定上指定源(使用SourceRelativeSource等)或依赖目标的对象层次结构中的DataContext,使得第一个设置值DataContext遇到遍历目标的祖先提供了任何绑定的来源。

如果未以某种方式设置源(即DataContext未在目标的祖先中的任何位置显式设置且绑定仅指定{{}},那么我无法解决的问题是会发生什么? {1}})。

  1. 绑定引擎在哪里(如果有的话)查找Path中指定的源属性?
  2. 如果在这种情况下绑定失败,为什么我似乎没有在VS“输出”窗口中出现任何错误(此处通常会显示绑定错误)?
  3. (.net 4.5,VS 2012 RC,Win 7 32位)

1 个答案:

答案 0 :(得分:1)

结果是你的绑定不会绑定任何东西。这不是绑定错误,因为您不必显式设置DataContext(它继承自逻辑树中的其他元素),因此拥有一个等待其DataContext设置的控件是完全有效的。