在DataGrid HeaderTemplate中绑定工具提示文本

时间:2017-11-07 13:46:38

标签: wpf data-binding datagridview

在我的数据网格的第一列中,我需要显示标题和图像。此外,图像必须包含一些带有动态文本的工具提示。我使用了HeaderTemplate,如下面的代码所示,以显示文本和图像。但我正在努力将ToolTipMessage绑定到TextBlock。我也使用了ProxyElement,但它仍然无法正常工作。任何帮助将不胜感激。

<Grid>
<Grid.Resources>
    <FrameworkElement
        x:key"DataContextProxyElement"
        DataContext={Binding}
        Visibility=Collapsed/>
</Grid.Resources>
<Border
    Grid.Row="0"
    Grid.Column="0"
    Style="{StaticResource BorderStyle}"
    Visibility="{Binding ShowBorder, Converter={StaticResource BoolToVisibilityConverter}}">
    <DataGrid
        ItemsSource="{Binding GridData}"
        Style="{StaticResource DataGridStyle}">
        <DataGrid.Columns>
            <DataGridTextColumn
                Width="*"
                Binding="{Binding Term}"
                ElementStyle="{StaticResource Wrap}"
                EditingElementStyle="{StaticResource EditWrap}">
                <DataGridTextColumn.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="Other synonyms"/>
                            <Image Source="{StaticResource InfoIcon}">
                                <Image.ToolTip>
                                    <ToolTip Style="{StaticResource PowerUserToolTip}">
                                        <TextBlock Text={Binding DataContext.ToolTipMessage, Source={StaticResource DataContextProxyElement}}/>
                                    </ToolTip>
                                </Image.ToolTip>
                            </Image>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTextColumn.HeaderTemplate>
            </DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>
</Border>

1 个答案:

答案 0 :(得分:1)

试试这个:

{{1}}