我有一个包含TreeView控件的usercontrol。我正在使用MVVM模式。 我想在不同的窗口中重用这个用户控件,每次将usercontrol绑定到不同的datacontext。
<UserControl Name="UserControl1".......>
..............
<TreeView ItemSource={Binding ...}...>
<HierarchicalDataTemplate...........\>
</TreeView>
..............
</UserControl>
在窗口1中,我想将List<ObjectA>
绑定到TreeView。
在Window 2中,我想将List<ObjectB>
绑定到TreeView。
是否可以为此用户控件编写通用的ViewModel,以便我可以将不同类型的数据绑定到TreeView? 如果我的问题没有被理解,请告诉我。
答案 0 :(得分:2)
如果我正确读取这个内容,你有一个你希望重用的UserControl,将其DataContext设置为应用程序不同部分的不同ViewModel ......
即是如此,是的,您当然可以将不同类型的列表指定为TreeView的ItemsSource,但是:
ObservableCollection<T>
会带来比List<T>
更大的奖励希望这会有所帮助:)