2011-03-01 5 views
1

나는 wpf 툴킷의 데이터 소스를 가지고 있는데, itemsource는 Observable<Item>에 바인드되어 있습니다. Item 클래스에는 표시 할 값이 들어있는 Observable<bool> 목록이 있습니다.이중 목록 - WPF 툴킷 DataGrid

이러한 값을 사용자 지정 서식 파일에 표시하려고합니다. 가능한 경우 다른 행 (일반 속성)도 표시하려고합니다.

어떻게하면됩니까? 답변 해 주셔서 감사합니다.

업데이트 : 두 번째 목록은 마스터/세부 정보가 아닌 일반 열에 표시되어야합니다. 두 번째 목록에 2 bools이 있고 Item 클래스에 추가 속성이 1 개 있다고 가정 해 보겠습니다. 이 경우 3 열이 표시되어야합니다.

+0

표시하려는 내용을 자세히 설명해 주시겠습니까? Observable 의 값에 따라 행을 만들고 싶습니다. 행 1과 같이 항목 및 후속 행을 표시하려면 Observable 값을 열에 표시 하시겠습니까? 또는 UI에 Observable 속성의 목록 템플릿을 만들려고합니까? – RockWorld

+0

방금 ​​질문을 업데이트했습니다. 위를 참조하십시오. –

답변

2

두 번째 DataGrid를 만들고 SelectedItem.Items을 첫 번째 그리드에서 itemssource of second로 바인딩 할 수 있습니다. 또는 당신은이처럼 데이터 그리드의 행 세부에서 두 번째 데이터 그리드를 포함 할 수 있습니다 :

<DataGrid.RowDetailsTemplate> 
    <DataTemplate> 
     <DataGrid ItemsSource="{Binding Items}"/> 
    </DataTemplate> 
</DataGrid.RowDetailsTemplate> 

당신은 그리드에 당신을 위해 추가 열을 생성합니다 데이터 그리드에 연결된 속성을 쓸 수 this examplesthis

+0

안녕 Sergey, 답장을 보내 주셔서 감사합니다. 그러나 두 번째 목록은 마스터/세부 정보가 아닌 일반 열에 표시되어야합니다. 두 번째 목록에 2 개의 bool이 들어 있고 Item 클래스에 1 개의 추가 속성이 있다고 가정 해 보겠습니다. 이 경우 3 열이 표시되어야합니다. –

+1

그런 경우에는 행 세부 정보 만 만들거나 런타임에 추가 열을 만드는 함수를 만들 수 있다고 생각합니다. 열 개수를 가변적으로 만드는 템플릿은 불가능하지만 사용자 정의 열 템플릿 –

+0

을 만들 수 있습니다. http://stackoverflow.com/questions/320089/how-do-i-bind-a-wpf-datagrid-to 가변 개수의 열이 –

1

에서 살펴 보자. 이 프로퍼티 구현자는 개별 Observable 값과의 바인딩을 정의합니다.

+0

좋지만 더 자세하게 지정하거나 작은 예제를 만들 수 있습니까? 나는 이미이 솔루션을 시도해 봤지만 성공하지 못했습니다. –

+1

1> ColumnType의 Collection 유형 인 그리드에 대해 AttachedProperty를 만듭니다 (고유 한 클래스 여야 함). 2> 속성 변경 이벤트 처리기를 정의하십시오. 3> 이벤트 처리기에서 list의 값을 찾습니다. 목록에 대한 DataGridColumns를 만듭니다. 열에 바인딩을 정의하고 datagrid 열 컬렉션에 추가합니다. – RockWorld

+0

감사합니다. 나는 그것을 시도하고 나중에 다시 당신에게 돌아갈 것입니다. –