0
以我的Silverlight MVVM应用,在视图中的代码隐藏,我设置在DataContext到一个视图模型为这样:如何在Silverlight MVVM应用程序中使用self作为DataContext?
this.DataContext = new MyViewModel();
然而,我需要一个控制在视图绑定到另一个在同一视图。所以,我需要设置控件的DataContext,并将绑定添加到视图本身。
浏览各地后,好像这样的WPF明确的方法是添加:
DataContext="{Binding
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}}
的控制。
但是,AncestorType属性在Silverlight 4中不存在。是否存在用于此场景的等效代码行Silverlight?我没有遇到任何网站或答案,显示了最佳做法。
这可能会帮助我回答一个earlier question,我试图在视图中绑定自定义控件和属性。
的问题是我想绑定到控件,而不仅仅是一个控件的属性。我创建了自己的控件,将BusyIndicator扩展为具有Control类型的额外属性。目标是当BusyIndicator失去焦点时,我对我绑定的控件调用Focus()命令。但是我无法在XAML中设置一个控件给我的额外属性,并认为它与DataContext相关。看到我的相关[问题](http://stackoverflow.com/questions/8855639/binding-a-usercontrol-to-a-custom-busyindicator-control)。 – 2012-01-17 19:16:16
哦,我明白了 - 对不起,但我仍然不完全明白你的问题。 – 2012-01-18 07:10:07