在一个窗口中有多个视图(MVVM)
我正在尝试学习MVVM,作为一个没有导师的新人,有时候会很困惑。现在我有一个问题: **在一个窗口中,我使用了来自不同模型视图的3个不同视图。 **每个视图用于从分支中选择一个项目,我们将遍历该树。 **首先,我选择了我的书 **第二个视图将显示该书的页面 **我希望最后一个视图显示该页面的练习 到目前为止,我能够将第一个视图绑定到书籍上。现在,如何将第二个视图的源绑定到第一个视图的slectedItem在一个窗口中有多个视图(MVVM),mvvm,view,Mvvm,View,我正在尝试学习MVVM,作为一个没有导师的新人,有时候会很困惑。现在我有一个问题: **在一个窗口中,我使用了来自不同模型视图的3个不同视图。 **每个视图用于从分支中选择一个项目,我们将遍历该树。 **首先,我选择了我的书 **第二个视图将显示该书的页面 **我希望最后一个视图显示该页面的练习 到目前为止,我能够将第一个视图绑定到书籍上。现在,如何将第二个视图的源绑定到第一个视图的slectedItem 有几种方法可以实现您的目标。例如 public class Exercise{} p
有几种方法可以实现您的目标。例如
public class Exercise{}
public class Page
{
public List<Exercise> MyExercise {get;set;}
}
public class Book
{
public List<Page > MyPages {get;set;}
}
公共类练习{}
公共类页面
{
公共列表MyExercise{get;set;}
}
公共课堂用书
{
公共列表MyPages{get;set;}
}
视图模型
public ObservableCollection<Book> MyBooks {get;set;}
publicobservableCollection MyBooks{get;set;}
xaml
这当然只是一种方法
ps:代码是手写的,所以请检查错误好的,我要感谢所有读过这篇文章并试图提供帮助的人,特别是你们的“Blindmeis,Jen H” 多谢各位 我知道这种情况太普遍了,我就是找不到 所以我找到了两种方法,这两种方法都是很好的解决方案
所以我的问题解决了。希望它对您也有用。如果有人能为我提供一个示例应用程序的链接,那就太好了。这可能符合您的方向:
<ListBox x:Name=books ItemsSource="{Binding MyBooks}"/>
<ListBox x:Name=pages ItemsSource="{Binding ElementName=books,Path=SelectedItem}"/>
<ListBox ItemsSource="{Binding ElementName=pages,Path=SelectedItem}"/>