仅将BindingList的某些属性绑定到DataGrid

时间:2012-10-28 22:03:32

标签: c# wpf mvvm wpfdatagrid

一些背景知识:

public class Base
{
    public string A { get; set; }
    public double B { get; set; }
    public DateTime C { get; set; }
    public string D { get; set; }
}

public class DerivedClass : Base
{
    public string E { get; set; }
    public List<string> F { get; set; }
    public List<string> G { get; set; }
    public Image H { get; set; }
}

Base类用作其他几个具有共同属性的类的基础。派生类添加特定于派生类的属性。

在我的视图中,我有一个DataGrid绑定到DerivedClassViewModel的{​​{1}}:

BindingList<DerivedClass>

这很好用,我可以在BindingList中添加和删除项目,DataGrid会自动更新以反映这一点。但是,<DataGrid Margin="318,0,0,0" ItemsSource="{Binding BindingList}"> 有几个属性(例如DerivedClass),我不希望在DataGrid中显示这些属性。 如何在仍然使用List<string> F/H时仅将DerivedClass的某些属性绑定到DataGrid?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

@see BindingList(IList)(“构造函数”下的第二项)