我正在尝试根据行索引的转换器函数放置行标题文本。 我找到了一种绑定到datagridrow的方法,如下所示,但我找不到如何获取datagridrow对象的行索引。
<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>
如何获取行索引并使用我的转换器函数来设置行标题文本?
编辑: 我使用datagrid的一些帮助扩展来解决这个问题。 (http://code.google.com/p/artur02/source/browse/trunk/DataGridExtensions/DataGridHelper.cs) 在AutoGeneratedColumns事件中,我使用GetRow函数设置每一行的标题。
答案 0 :(得分:0)
它一点都不整齐,但你可以编写一个IValueConverter,它将DataGrid本身作为转换器参数,当前行作为值(两者都可以通过相对绑定获取),然后查找并返回当前行的索引。
我确信有更好的方法......