我正在努力学习MVVM,并且作为一个没有导师的新人,有时它会让人感到困惑。现在我有这个问题:
**在一个窗口中,我使用了来自不同模型视图的3个不同视图。 **每个视图用于从分支中选择一个项目,我们将遍历树。 **在第一个视图中,我选择了我的书 **第二个视图将显示该书的页面 **我希望它显示该页面练习的最后一个视图。
到目前为止,我能够将第一个视图绑定到Books。现在,我应该如何将第二个视图的源绑定到第一个视图的 slectedItem ?
MVVM Problem http://clickasun.ir/8283kitchen/images/mvvmproblem.jpg
答案 0 :(得分:1)
有几种方法可以达到你想要的效果。例如
public class Exercise{}
public class Page
{
public List<Exercise> MyExercise {get;set;}
}
public class Book
{
public List<Page > MyPages {get;set;}
}
视图模型
public ObservableCollection<Book> MyBooks {get;set;}
XAML
<ListBox x:Name=books ItemsSource="{Binding MyBooks}"/>
<ListBox x:Name=pages ItemsSource="{Binding ElementName=books,Path=SelectedItem}"/>
<ListBox ItemsSource="{Binding ElementName=pages,Path=SelectedItem}"/>
这当然只是一种方法。
ps:代码手写,所以检查错误
答案 1 :(得分:0)
好的,我要感谢任何阅读此内容并试图提供帮助的人,特别是你们这些人“Blindmeis,Jen H”
谢谢。我知道这种情况必须如此笼统,我无法找到它。
所以我找到了两种方法,它们都可以成为很好的解决方案。
使用Microsoft Prism。 (它是一种轻松制作WPF模块化程序的模式) MSDN LINK Another LINK
使用主详细信息模式 Here it is clear
所以我解决了我的问题。希望它对你也有用。