【发布时间】:2011-04-06 23:47:50
【问题描述】:
我在框架frame 中有一个页面page,带有frame.DataContext = "foo"。
-
(page.Parent as Frame).DataContext是"foo"。 好的 -
page.DataContext的 BindingExpression 是null(也强制使用 ClearValue)。 好的 -
page.DataContext是null。 但我期待的是“foo”!
为什么不继承 DataContext?至于我understand Frame sandboxes 的内容。但我找不到任何关于这种行为的文档 - 谁能指出我提到的地方?
【问题讨论】:
-
BindingExpresion 不会传递给子项,但 DataContext 是。您是否检查了 DataContext 属性本身?
-
是的,DataContext 也是空的。它仍然是
null,即使在调用 ClearValue 之后也是如此。 -
感谢您提出这个问题 :0) 作为注释,在所有内容加载后(在加载事件之后)从承载框架的用户控件更改数据上下文会导致页面继承新的数据上下文(必须清空并将其设置回原始数据,或者直到加载的事件完成后才设置)。
标签: c# wpf binding datacontext msdn