1

我正在开发一个应该具有很多图形功能的应用程序,我正在使用 wpf 构建一个应用层。我想在 mvvm 结构中构建应用层。

我正在构建一个负责图形处理的大型 wpf 控件。因为我开始构建一个负责控制的单一视图模型,这个视图模型变得很大,由于大量使用命令、绑定和行为,包含图形控件的 xaml 也变得很大。

我想将视图模型拆分为几个视图模型,负责图形控件的各个方面。如何将 xaml 拆分为每个视图模型的视图,每个视图模型负责同一控件的自己的绑定、行为、触发器等?

4

1 回答 1

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>
于 2013-02-03T17:45:52.460 回答