C# wpf的MVVM解决方案
情况是这样的: 窗口的数据上下文是:C# wpf的MVVM解决方案,c#,wpf,mvvm,C#,Wpf,Mvvm,情况是这样的: 窗口的数据上下文是:MainViewModel 它是从子视图模型的可观察集合构建的。 每个子视图模型都有自己的可观察集合,类型为字符串。 现在,我有一个树景。ItemsSource是MainViewModel的ObservableCollection(表示它是子ViewModel集合) 我希望如果选择了一个项目,那么在树状视图中将显示所选项目的可观察集合(类型字符串)。 我该怎么做 一些代码: <TreeView ItemTemplate="{DynamicResource
MainViewModel
它是从子视图模型的可观察集合构建的。
每个子视图模型
都有自己的可观察集合
,类型为字符串。
现在,我有一个树景。ItemsSource是MainViewModel
的ObservableCollection
(表示它是子ViewModel
集合)
我希望如果选择了一个项目,那么在树状视图中将显示所选项目的可观察集合
(类型字符串)。
我该怎么做
一些代码:
<TreeView ItemTemplate="{DynamicResource TreeViewDataTemplate}" ItemsSource="{Binding SubViewModelCollection}"/>
由于某些原因,我想在堆栈面板中显示集合。
所以:(TypeCollection是项的字符串ObservableCollection,当然它当前不工作)
我一直在努力解决这个问题,如何才能实现我的目标?将treeviewItemsSource
绑定到用户列表的SelectedItem
<TreeView ItemTemplate="{DynamicResource TreeViewDataTemplate}"
ItemsSource="{Binding ElementName=UserList Path=SelectedItem.SubViewModelCollection}"/>
假设UserList
中的项是类型SubViewModel
,它有一个名为SubViewModelCollection
的IEnumerable
属性,将treeviewItemsSource
绑定到UserList
的SelectedItem
<TreeView ItemTemplate="{DynamicResource TreeViewDataTemplate}"
ItemsSource="{Binding ElementName=UserList Path=SelectedItem.SubViewModelCollection}"/>
假设UserList
中的项是类型SubViewModel
,它有一个名为SubViewModelCollection
的IEnumerable
属性,我建议看一看,尤其是。这将允许您在选择TreeView中的项目时在应用程序中发布事件,在应用程序的其他地方使用该事件,并将ItemControl绑定到选定的子ViewModel,而不必在应用程序的这两个部分之间引入任何不必要的耦合。我建议查看一下,尤其是。这将允许您在选择TreeView中的项目时在应用程序中发布事件,在应用程序的其他位置使用该事件,并将ItemControl绑定到选定的子ViewModel,而不必在应用程序的这两部分之间引入任何不必要的耦合。Ehm,它不起作用,我现在连树景都没看到。下面是我的代码:UserList中的项是SubViewModel中的一个ObservableCollection。你说你甚至没有看到treeview是什么意思?我没有建议任何东西会让它完全消失。嗯,它不起作用,我现在甚至没有看到树景。下面是我的代码:UserList中的项是SubViewModel中的一个ObservableCollection。你说你甚至没有看到treeview是什么意思?我没有建议任何东西会让它完全消失。举个例子就好了:)举个例子就好了:)