【发布时间】:2011-12-05 23:54:36
【问题描述】:
这是一件好事,我不介意感到愚蠢。
我正在尝试绑定到我的视图模型上的 ObservableCollection。数据层次结构如下所示: Parent - 包含 - Child 对象的列表。没什么复杂的。
在我的 Xaml 树的最外层网格,我建立了一个到视图模型的链接:
<Grid DataContext="{StaticResource src}">
是的,在问题文本框正常工作之前,src 确实引用了视图模型和两打绑定。我的 Xaml 树中没有另一个 DataContext。现在我来到一个简单的文本框。我想将文本框文本绑定到 child.property。
这行得通:
<TextBlock
DataContext="{Binding Parent}"
Text="{Binding Path=Child.Property}"
Style="{StaticResource headerMajor}"
/>
这不起作用:
<TextBlock
Text="{Binding Source=Parent,Path=Child.Property}"
Style="{StaticResource headerMajor}"
/>
我认为它们是同一件事的两种说法。通常我会想一想,然后继续编码。但是,我读过的一些建议提到,隐藏在 Xaml 控件中的 DataContext 属性可能会导致难以找到错误。
请解释为什么一个有效而另一个无效。这将有助于我掌握整个绑定主题。
吉姆
【问题讨论】:
-
请看editing help。
标签: wpf xaml data-binding mvvm