我有两个usercontrol视图,它们是:Bmw.xaml
和Audi.xaml
。
在这两个xamls中,我添加了以下内容:
<UserControl x:Class=TestProject.Views.Fragments.Audi
<!--The standard code generated by visual studio-->
xmlns:viewModels="clr-namespace:TestProject.ViewModels"
<Grid>
<!--XAML CODE-->
</Grid>
</UserControl>
在bmw.caml.cs和audi.xaml.cs中,我的构造函数中都有:
public Audi()
{
InitializeComponent();
this.DataContext = new BrandViewModel();
}
和
public BMW()
{
InitializeComponent();
this.DataContext = new BrandViewModel();
}
在ViewModel中是我的函数,为了保持简单,当Audi调用ViewModel时,我想将函数命名为Audi(),当BMW调用ViewModel时,我想将其命名为BMW()。
在viewModel类中有没有好的方法来知道它是属于audi还是bmw用户控件?因为依赖于此,必须执行不同的逻辑。
在此先谢谢您!
1条答案
按热度按时间piztneat1#
首先,创建一个枚举来定义您拥有的品牌。这样
第二,修改ViewModel的构造函数,使其像这样。
最后,通过刚刚创建的新构造函数设置DataContext。
和