Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# wpf的MVVM解决方案_C#_Wpf_Mvvm - Fatal编程技术网

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,当然它当前不工作)



我一直在努力解决这个问题,如何才能实现我的目标?

将treeview
ItemsSource
绑定到
用户列表的
SelectedItem

<TreeView ItemTemplate="{DynamicResource TreeViewDataTemplate}"
  ItemsSource="{Binding ElementName=UserList Path=SelectedItem.SubViewModelCollection}"/>


假设
UserList
中的项是类型
SubViewModel
,它有一个名为
SubViewModelCollection
IEnumerable
属性,将treeview
ItemsSource
绑定到
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是什么意思?我没有建议任何东西会让它完全消失。举个例子就好了:)举个例子就好了:)