我正在开发一个应该具有大量图形功能的应用程序,我正在使用wpf构建一个应用层。我想在mvvm结构中构建应用层。
我正在构建一个负责图形处理的大型wpf控件。因为我开始构建一个负责控件的单一视图模型,所以这个视图模型变大了,因为大量使用命令,绑定和行为,包含图形控件的xaml也是如此。
我想将视图模型拆分为几个负责图形控件各个方面的视图模型。我如何将xaml拆分为每个视图模型的视图,每个模型都负责同一个控件的绑定,行为,触发器等?
答案 0 :(得分:1)
根据您的ViewModels实现,有几种方法可以做到这一点。
第一个想到我想到的,你可以给不同的控件提供不同的DataContext,所以你可以做这样的事情(伪XAML):
<Window>
<Grid DataContext="ViewModel1">
<!-- xaml for that view model 1 -->
</Grid>
<Grid DataContext="ViewModel2">
<!-- xaml for that view model 2 -->
</Grid>
<Grid DataContext="ViewModel3">
<!-- xaml for that view model 3 -->
</Grid>
</Window>