2

我正在尝试学习 MVVM,作为一个没有导师的新手,有时它会变得非常混乱。现在我有这个问题:

** 在一个窗口中,我使用了来自不同模型视图的 3 个不同视图。** 每个视图用于从分支中选择一个项目,我们将遍历树。** 在第一个视图中,我选择我的书 ** 第二个视图将显示该书的页面 ** 最后一个视图我希望它显示该页面的练习。

到目前为止,我能够将第一个视图绑定到书籍。现在,我应该如何将第二个视图的源绑定到第一个的slectedItem

MVVM 问题 http://clickasun.ir/8283kitchen/images/mvvmproblem.jpg

4

2 回答 2

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;}

xml

 <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:代码是手写的,所以检查错误

于 2012-08-08T05:57:39.867 回答
0

好的,我要感谢任何阅读本文并试图提供帮助的人,特别是你们“Blindmeis,Jen H”

谢谢你。

我知道这种情况必须如此笼统,我就是找不到。

所以我找到了两种方法,它们都是很好的解决方案。

  1. 使用微软棱镜。(这是一种在 WPF 中轻松制作模块化程序的模式) MSDN LINK 另一个 LINK

  2. 使用主从模式 这里很清楚

所以我解决了我的问题。希望它对你也有用。

于 2012-08-10T09:45:35.490 回答