wpf viewmodel第一种方法-同一视图中同一usercontrol的多个实例
我们正在遵循用于wpf应用程序的mvvm方法 我们有以下视图模型方法..我的意思是我们创建视图模型并使用wpf viewmodel第一种方法-同一视图中同一usercontrol的多个实例,wpf,mvvm,Wpf,Mvvm,我们正在遵循用于wpf应用程序的mvvm方法 我们有以下视图模型方法..我的意思是我们创建视图模型并使用 <DataTemplate DataType="{x:Type vm:CityViewModel}"> <vw:Cities/> </DataTemplate> 在这个城市视图中…我有一个用户控件…我正在多次使用它 <view:UserControl1 Grid.Row="2" DataContext="{Binding
<DataTemplate DataType="{x:Type vm:CityViewModel}">
<vw:Cities/>
</DataTemplate>
在这个城市视图中…我有一个用户控件…我正在多次使用它
<view:UserControl1 Grid.Row="2" DataContext="{Binding UcViewModel}" Margin="291,5,291,-5"></view:UserControl1>
<view:UserControl1 Grid.Row="3" DataContext="{Binding Uc2ViewModel}" ></view:UserControl1>
我们在CityViewmodel中创建用户控件视图模型的多个实例
这种方法是否符合MVVM??
< P>我认为MVVM模式是一个松散的指南。 理想情况下,您需要的是一个可测试的应用程序。UI中的任何代码都很难测试 如果这在您的环境中有效,那么就去做吧,但要记住可测试性 在我目前正在开发的应用程序中,我有一个ItemsControl,其中有6个相同UserControl和ViewModel的实例 编辑: 我认为:<ItemsControl ItemsSource="{Binding Path=Underwriting}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- this could be another UserControl -->
<views:UWView DataContext="{Binding}" />
<!-- or a full data template defined in this view -->
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
或者,您可以将其放入您的资源中:
因此,实际上,您所要做的就是在DataContext中创建新的ViewModel实例,模板将负责视图的创建。在tat情况下……您是否有针对不同用户控件实例的不同视图模型实例???
<ItemsControl ItemsSource="{Binding Path=Underwriting}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- this could be another UserControl -->
<views:UWView DataContext="{Binding}" />
<!-- or a full data template defined in this view -->
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>