【发布时间】:2017-11-02 15:48:02
【问题描述】:
我对 MVVC/wpf 比较陌生,主要使用 winforms。
我想要完成的是动态数据绑定,而不使用 WPF 中的代码。用户界面由一个 devexpress 网格和几个按钮组成。每次按下按钮都会加载一个对象列表并在网格中显示对象。列表包含不同的对象类型,具体取决于按下的按钮。对于这个例子,我有两个类要展示:FatCat 和 FatDog。
在 winforms 中这有效:
private void button1_Click(object sender, EventArgs e)
{
((GridView)gridCtrl.MainView).Columns.Clear();
gridCtrl.DataSource = new BindingSource(itsModel.GetAll<FatDog>(), null);
}
private void button2_Click(object sender, EventArgs e)
{
((GridView)gridCtrl.MainView).Columns.Clear();
gridCtrl.DataSource = new BindingSource(itsModel.GetAll<FatCat>(), null);
}
我已将网格配置为动态创建列,因此一切正常。 itsModel 是 CatClientModel 类型。
在 wpf 中,我将 DataContext 定义为 CatClientModel。
我应该为网格中的 ItemsSource 使用什么来实现与我的 winforms 解决方案相同的行为?
dxg:GridControl ItemsSource="{Binding SomeDynamicList}"
换句话说,SomeDynamicList 在上面的代码中应该是什么?还是我走错了路?
正如我所说,我正在使用 DevExpress wpf 网格控件,但问题应该是一般性的,适用于任何呈现对象列表的控件。
【问题讨论】: