gpt4 book ai didi

wpf - WPF ViewModel第一种方法-同一 View 中同一用户控件的多个实例

转载 作者:行者123 更新时间:2023-12-03 10:50:44 25 4
gpt4 key购买 nike

我们正在为wpf应用程序遵循mvvm方法。

我们遵循以下 View 模型方法。.我的意思是我们创建 View 模型并使用

 <DataTemplate DataType="{x:Type vm:CityViewModel}">
<vw:Cities/>
</DataTemplate>

在这个城市 View 中..我有一个用户控件...我多次使用...
<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中创建用户控件 View 模型的多个实例。

这种方法符合mvvm吗?

最佳答案

我认为MVVM模式是一个宽松的指南。

理想情况下,您正在寻找的是可测试的应用程序。 UI中的任何代码都很难测试。

如果这在您的情况下可行,那么就去做,但要牢记可测试性。

目前在一个应用程序中,我有一个ItemsControl,其中有6个实例具有相同的UserControl和ViewModel。

编辑:

public class InsuranceViewModel 
{
public ObservableCollection<UnderwritingViewModel> Underwriting { get; set; }
}

我认为:
<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实例,并且模板将负责View的创建。

关于wpf - WPF ViewModel第一种方法-同一 View 中同一用户控件的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com