2010-05-21 51 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

它並不完美,但您可以編寫一個IValueConverter,它將DataGrid本身作爲轉換器參數,將當前行作爲值(兩者均可通過相對綁定獲取),然後查找並返回當前行的索引。

我敢肯定,雖然有更好的辦法...

+0

thnx。我決定使用一些輔助函數來獲取特定的行並直接放置標題值。我把答案放在那裏。 – 2010-05-21 18:15:55