4

一些背景:

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 类用作其他几个具有共同属性的类的基础。派生类添加特定于该派生类的属性。

在我的视图中,我有一个绑定到我的 DataGridDerivedClassViewModelBindingList<DerivedClass>

<DataGrid Margin="318,0,0,0" ItemsSource="{Binding BindingList}">

这很好用,我可以在 BindingList 中添加和删除项目,DataGrid 会自动更新以反映这一点。但是,有几个我不想在 DataGrid 中显示的DerivedClass属性(例如)。如何在仍在使用的同时仅将 DerivedClass 的某些属性绑定到 DataGrid List<string> F/HBindingList<DerivedClass>

4

2 回答 2

3

您必须在 DataGrid 上禁用 AutoGenerateColumns 并明确定义列http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.columns(v=vs.100).aspx,或使用 AutoGeneratingColumn 事件丢弃您不想要的列http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.autogeneratingcolumn(v=vs.100).aspx

于 2012-10-29T09:11:19.037 回答
0

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

于 2012-10-28T22:16:51.770 回答