У меня есть следующий DataTemplate в ресурсах, которые я бы хотел использовать повторно в GridView.XAML: Пользовательская привязка в DataTemplate для использования в GridViewColumn CellTemplate
<Window.Resources>
<DataTemplate x:Key="NumericalDataTemplate" DataType="GridViewColumn.CellTemplate">
<StackPanel Orientation="Horizontal" Height="32">
<TextBlock Text="{Binding MyLength}" VerticalAlignment="Center"
HorizontalAlignment="Center">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}" >
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding PropertyEditable}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
</DataTemplate>
</Window.Resources>
Это реализовано следующим образом.
<GridViewColumn Header="MyLength" Width="80"
CellTemplate="{StaticResource NumericalDataTemplate}" />
Я хотел бы изменить связывание TextBlock (В настоящее время Text={Binding MyLength}
), так что он может использовать пользовательские привязки для каждого GridViewColumn сотового шаблона (например, MyHeight, MyWeight и т.д.).
Способ, которым я предполагал это, заключается в изменении привязки TextBlock, чтобы просто использовать {Binding}
и иметь GridViewColumn для привязки. Однако я не уверен, где и как это сделать, поскольку настройка DisplayMemberValue на {Binding MyLength}
(например) просто переопределяет шаблон.
Я хотел бы сделать это полностью в XAML.
Какой будет класс TemplateBuilder в этом случае. не могли бы вы рассказать нам схему того же –