2012-03-26 2 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> 

가 지금은 다른 열을 추가 할 Sublist의 첫 번째 항목에있는 속성에 바인딩됩니다 :

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

어떻게해야합니까?

답변

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

는 DependencyProperty에 귀하의 하위 항목을 변환하거나 적어도 (그것을위한 http://msdn.microsoft.com/en-us/library/ms743695.aspx 참조) MySubClass에에서 INotifyPropertyChanged를 구현해야 할 수 있습니다) ..

1 일을해야하지만.

2) 색인 0의 항목이 삭제되거나 변경된 경우 바인딩이 풀릴 수 있습니다 (변경된 경우, ObservableCollection이 처리하는 경우 확실하지 않음). 항상 존재하는 속성에 바인딩해야합니다.

+0

오당. 그래서 내 문제는 다른 곳에서 : / – Sam

관련 문제