2010-05-21 4 views
0

행 색인의 변환기 기능을 기반으로 행 헤더 텍스트를 넣으려고합니다. 아래처럼 DataGridrow에 바인딩하는 방법을 찾았지만 DataGridrow 객체의 행 인덱스를 가져 오는 방법을 찾을 수 없습니다.WPF 데이터 격자의 각 행에 대한 임의의 헤더 내용

<DataTemplate x:Key="MyRowHeaderTemplate" DataType="DataRowView"> 
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Margin="1,0,1,0" Padding="1,0,1,0" 
       Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}}, Path=Item}"/> 
</DataTemplate> 

어떻게 행 색인을 가져 와서 내 변환기 기능을 사용하여 행 헤더 텍스트를 설정할 수 있습니까?

편집 : 나는 이것을 데이터 도드의 도우미 확장을 사용하여 해결했습니다. (http://code.google.com/p/artur02/source/browse/trunk/DataGridExtensions/DataGridHelper.cs) AutoGeneratedColumns 이벤트에서 GetRow 함수를 사용하여 각 행의 머리글을 설정합니다.

답변

0

전혀 깔끔하지 않지만 DataGrid 자체를 변환기 매개 변수로 사용하고 현재 행을 값으로 사용하여 상대 바인딩을 통해 얻을 수있는 IValueConverter를 작성한 다음 조회하여 반환 할 수 있습니다. 현재 행의 인덱스

더 나은 접근 방법이 있다고 확신합니다.

+0

thnx. 필자는 헬퍼 함수를 ​​사용하여 특정 행을 얻고 헤더 값을 직접 입력하기로 결정했습니다. 저기서 내 대답을 넣어. –

관련 문제