【发布时间】:2018-04-10 11:56:27
【问题描述】:
我有一个主视图和相应的 ViewModel。因为主View太复杂所以我拆分成很多小View;而且每个小View也有自己的ViewModel。
我的问题是如何在主视图中“将子视图模型关联到子视图”?
我是按照下面的方式做的,不知道对不对还是得用DataTemplate?
<StackPanel>
<local:SmallView-A DataContext="{x:Type local:SmallViewModel-A}" />
</StackPanel>
<StackPanel>
<local:SmallView-B DataContext="{x:Type local:SmallViewModel-B}" />
</StackPanel>
<StackPanel>
<local:SmallView-C DataContext="{x:Type local:SmallViewModel-C}" />
</StackPanel>
【问题讨论】:
-
您可以将主视图拆分为多个用户控件。
-
这取决于您的主视图模型的结构以及您打算如何使用 SmallView。例如,如果您的主视图模型中有 SmallViewModel 属性,您可以直接绑定 SmallView 的 DataContext,lile
<local:SmallViewA DataContext="{Binding SmallViewModelA}"/>。但是,您需要更具体。 -
而不是 编辑:对不起错字,只需修复您的 XAML。
-
@Clemens,感谢您指出。我修正了错别字。