2012-03-26 10 views
1

オブジェクトの配列にバインドされたDataGridがあります。 これらのオブジェクトは、次のように、いくつかのプロパティおよびアイテムの別の配列が含まれています。 Xaml DataGridをサブ配列の最初のアイテムにバインドする

public class MySubClass 
{ 
    public String SubItem {get;set;} 
} 

public class MyContrievedSampleCollection 
{ 
    public String Name {get;set;} 
    public ObservableCollection<MySubClass> Sublist {get; set;} 
} 

は、だから私はうまく動作のObservableCollectionにデータグリッドをバインドします

<DataGrid ItemsSource="{Binding MyCollection}"> 
    <DataGrid.Columns> 
    <DataGridTextColumn Header="Name" Binding="{Binding Name, UpdateSourceTrigger=PropertyChanged}"/> 
    </DataGrid.Columns> 
</DataGrid> 

は今、私は別の列を追加しますサブリストの最初の項目にプロパティにバインドされています

<DataGridTextColumn Header="Subitem" Binding="{Binding Sublist[0].Subitem, UpdateSourceTrigger=PropertyChanged}"/> 

私はこれをどのように達成することができますか?

答えて

1
<DataGridTextColumn Header="Subitem" Binding="{Binding Sublist[0].Subitem, UpdateSourceTrigger=PropertyChanged}"/> 

動作しますが、...

1必要があります)DependencyPropertyにあなたのサブアイテムを変換するか、または少なくとも(そのためhttp://msdn.microsoft.com/en-us/library/ms743695.aspxを参照)MYSUBCLASSにINotifyPropertyChangedのを実装するために必要になることがあります。

2)インデックス0のアイテムが削除された場合(または変更されている場合、ObservableCollectionが処理しているかどうかわかりません)、バインディングを緩めることができます。常に存在するプロパティにバインドする必要があります。

+0

オハイオ州。ですから私の問題はどこか他の場所です:/ – Sam

関連する問題