我已经定义了一个像
这样的视图模型 public class DataGridBaseViewModel<T>:ViewModelBase
{
ObservableCollection<T> DataCollection;
public abstract void Initialize();
}
public class Grid1ViewModel:DataGridBaseViewModel<MyModel1>
{
public void override Initialize()
{
DataCollection = new ObservableCollection<MyModel1>();
}
}
public class Grid2ViewModel:DataGridBaseViewModel<MyModel2>
{
public void override Initialize()
{
DataCollection = new ObservableCollection<MyModel2>();
}
}
现在我有2个datagrids,它们应该显示MyModel1和MyModel2。如何指定视图的datacontext。
请帮忙。
提前致谢
答案 0 :(得分:0)
我的观点是用户控制。我在viewmodel定位器中定义了我的viewmodel,然后在xaml中使用以下命令将视图DATACONTEXT绑定到viewmodel:
<UserControl x:Class="FTC.View.EmployeeListView"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="http://www.galasoft.ch/mvvmlight"
mc:Ignorable="d"
DataContext="{Binding EmployeeList_VM, Source={StaticResource Locator}}">
所以只需使用上面的示例将datagrids的datacontext绑定到viewmodels