【发布时间】:2014-05-31 01:06:38
【问题描述】:
我希望在整个 GridView 中重用的资源中有以下 DataTemplate。
<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 中完成此操作。
【问题讨论】:
标签: wpf xaml binding datatemplate