Я использую xceed DataGrid
, но я не верю, что это имеет значение здесь. Что мне нужно, это как правильно привязать данные. У меня есть DataGrid
столбец следующим образом:
<xcdg:Column FieldName="TestFieldValue"
Visible="False" Title="TestTitle"
GroupValueTemplate="{StaticResource TestFieldGroupTemplate}"/>
Я использую DataTemplate
следующим образом:
<DataTemplate DataType="{x:Type testNamespace:TestFieldRecord}"
x:Key="TestFieldGroupTemplate">
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type xcdg:DataRow}},
Path=DataContext,
Converter={StaticResource TestFieldValueConverter}}" />
</DataTemplate>
Во-первых, значение свойства, связанного с этим полем столбца, просто длинное. DataType здесь DataTemplate
на самом деле является родительским классом свойства поля столбца. Странно то, что если я просто свяжу свойство text в шаблоне данных, например Text={Binding Converter={StaticResource TestFieldValueConverter}}
, конвертер все равно попадет, но с длинным значением из столбца.
Здесь мне нужно привязать либо контекст DataRow
, либо родительский элемент столбца TestFieldValue
, то есть testNamespace:TestFieldRecord
. Любые попытки найти предка приводили меня к тому, что я больше не обращался к конвертеру.