2010-08-03 69 views
1

我已经在网络中搜索访问UserControl中的对象/属性的方法。我有我的观点Page对象在至极我加载用户控件:WPF + MVVM - UserControl中的访问对象/属性

<UserControl:RichTextEditorControl Height="350" /> 

如何访问对象/属性,它驻留在从我的用户我的观点的视图模型?为了把我的问题付诸实践:我有一个显示在我的视图中的项目列表,当我选择一个项目时,我加载了usercontrol。然后,我希望我的用户控件对所选项目执行“填充”操作。我怎样才能做到这一点?

Thanx!

回答

2

您可以让选定的项目是您的UserControl上的依赖项属性,或者只是它的DataContext。然后,您可以只安装在用户控件使用绑定:

<UserControl1 DataContext="{Binding TheSelectedObjectProperty}" /> 

如果你的列表框结合到同一TheSelectedObjectProperty,该用户控件就会看到所选的项目,当您在列表框中会自动更改项目。

+0

非常感谢您的回答!我想我应该更具体,所以我不会浪费你的时间,但:事情是,用户控件有它自己的viewmodel,并在用户控件的xaml中,datacontext被设置为该视图模型。所以我想我不能再设置datacontext。 我试图让选定的项目依赖项属性,但我不能让它工作。我想有一种可能性,当我尝试它时错过了某些东西。 谢谢! – MrZ 2010-08-03 16:11:43

+0

也许我应该问一下,是否可以使用绑定与相对来源和findancestor来获得财产? – MrZ 2010-08-03 16:13:28

+0

@ user409816:如果您使SelectedItem成为依赖项属性,则应该能够通过持有UserControl的“容器”来设置与它的绑定。这将工作正常。 – 2010-08-03 16:31:52