显示TextBlock Text

时间:2016-07-04 12:08:57

标签: c# .net wpf xaml

我遇到了以下问题。我有一个带DataGridTemplateColumn的DataGrid,我想用弹出窗口显示单元格的文本(因为它可以被修剪)。

这是我的xaml代码:

                    <DataGridTemplateColumn>
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock 
                                    Text="{Binding Description}" 
                                    TextTrimming="CharacterEllipsis">
                                    <TextBlock.ToolTip>
                                        <ToolTip Style="{StaticResource ToolTipBrowserDescription}" ToolTip="test"/>
                                    </TextBlock.ToolTip>
                                </TextBlock>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>

风格:

<Style TargetType="{x:Type ToolTip}" x:Key="ToolTipBrowserDescription">
    <Setter Property="DataContext" Value="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ToolTip}">
                <Border BorderBrush="{StaticResource HT_Background_DarkGrey}" Background="{StaticResource HT_Background_LightGrey3}" BorderThickness="1">
                    <TextBlock Text="{Binding ToolTip}" FontWeight="Bold" TextWrapping="Wrap" Margin="5" MinWidth="50" MaxWidth="{TemplateBinding MaxWidth}"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

tooltip1

但是当我将ToolTip属性从“test”设置为“{Binding Description}”时,ToolTip(显示)为空。

有没有人为我解决方案。我被困了大约2小时..

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题。

<强> ToolTipStyle:

<Style TargetType="{x:Type ToolTip}" x:Key="ToolTipBrowserDescription">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ToolTip}">
                        <Border BorderBrush="{StaticResource HT_Background_DarkGrey}" Background="{StaticResource HT_Background_LightGrey3}" BorderThickness="1">
                    <TextBlock Text="{TemplateBinding Content}" FontWeight="Bold" TextWrapping="Wrap" Margin="5" MinWidth="50" MaxWidth="{TemplateBinding MaxWidth}"/>
                </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

<强>的TextBlock:

<TextBlock Text="{Binding Description}">
        <TextBlock.Style>
            <Style TargetType="TextBlock">
                <Setter Property="ToolTip">
                    <Setter.Value>
                        <ToolTip Style="{StaticResource ToolTipBrowserDescription}" Content="{Binding Description}"/>
                    </Setter.Value>
                </Setter>
            </Style>
        </TextBlock.Style>
    </TextBlock>

您应该将模板绑定到内容,而不是ToolTip的{​​{1}}