Произвольный заголовок для каждой строки в сетке данных WPF - PullRequest
0 голосов
/ 21 мая 2010

Я пытаюсь поместить текст заголовка строки на основе функции преобразователя индекса строки. Я нашел способ привязки к сетке данных, как показано ниже, но не могу найти, как получить индекс строки для объекта данных.

<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>

Как я могу получить индекс строки и использовать функцию конвертера для установки текста заголовка строки?

EDIT: Я решил это с помощью некоторого вспомогательного расширения DataGrid. (http://code.google.com/p/artur02/source/browse/trunk/DataGridExtensions/DataGridHelper.cs) В событии AutoGeneratedColumns я установил заголовок каждой строки, используя функцию GetRow.

1 Ответ

0 голосов
/ 21 мая 2010

Это не совсем аккуратно, но вы могли бы написать IValueConverter, который принимает сам DataGrid в качестве параметра преобразователя, а текущую строку в качестве значения (оба из которых могут быть получены посредством относительной привязки), а затем ищите и возвращаете индекс текущей строки.

Я уверен, что есть лучший подход ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...