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クラスは、すべて共通のプロパティを持つ他のいくつかのクラスのベースとして使用されます。派生クラスは、その派生クラスに固有のプロパティを追加します。

私のビューでは、DataGridが自分のにバインドされていDerivedClassViewModelますBindingList<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.autogeneratedcolumn(v=vs.100).aspx

于 2012-10-29T09:11:19.037 に答える
0

@see BindingList(IList)(「コンストラクター」の下の2番目の項目)

于 2012-10-28T22:16:51.770 に答える