我有一个具有三个子用户控件的页面。我在父 Page 中设置了 DataContext View 模型资源,三个子控件引用了父 DataContext,因为所有 3 个子用户控件都使用相同的 ViewModel。都好。
但是,其中一个 UserControl 存在绑定(bind)问题(由于 Silverlight 5 Beta 中的新 XAML 调试功能,我可以看到这一点。)有问题的 UserControl 是 ItemsControl。每个项目内有一个按钮和 2 个文本框。该按钮绑定(bind)到命令。错误是 Button 找不到它的绑定(bind)。 2个文本框正确绑定(bind)。 ItemsControl 的 ItemSource 绑定(bind)到 viewmodel 中的 ObservableCollection。
我的问题是:我如何告诉 Button 在比 Observable Collection 更高的级别上查找它的绑定(bind),即:转到 View 模型,而不是您的直接父级(Observable Collection)。您不能设置 DataContext
ChildControl
中的按钮因为对 View 模型的引用不存在。它在父级中。
最佳答案
试试这个:-
为您的 ItemsControl 命名。在您的按钮绑定(bind)中包含 ElementName=NameOfItemsControl
, 在绑定(bind)路径前加上 DataContext.
.
关于silverlight - Xaml 找不到绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074860/