8

これが私のグリッドです。ヘッダー「RED.BROJ」の上にマウスを置いて説明を表示するときに、ヘッダー「RED.BROJ」に説明を付けます。文章。

<ListView.View>
    <GridView>
        <GridViewColumn Width="50"
                        Header="Реd.Број"
                        DisplayMemberBinding="{Binding Path=RedenBroj}">
        </GridViewColumn>
4

3 に答える 3

9

あなたはこれを行うことができます:

<GridViewColumn Width="50"
                DisplayMemberBinding="{Binding Path=RedenBroj}">
    <GridViewColumn.Header>
        <TextBlock Text="Ред.Број"
                   ToolTip="Your explanation" />                      
    </GridViewColumn.Header>        
</GridViewColumn>
于 2012-06-22T12:48:43.790 に答える
9

応答が少し遅くなりますが、次の手順を実行することで、列をドラッグして並べ替える機能を失うことなく、ツールチップを追加できます。

<GridViewColumn Width="50"
                Header="Реd.Број"
                DisplayMemberBinding="{Binding Path=RedenBroj}">
    <GridViewColumn.HeaderContainerStyle>
        <Style>
            <Setter Property="Control.ToolTip" Value="Tool tip content"/>
        </Style>
    </GridViewColumn.HeaderContainerStyle>
</GridViewColumn>

更新: LPLのおかげでより簡潔なバージョン

さらなる更新:すべての列にヘッダーと一致するツールチップを持たせることができるようにしたかった(一部の列は狭すぎてヘッダー全体を表示できないため):

<ListView.View>
    <GridView>
        <GridView.ColumnHeaderContainerStyle>
            <Style TargetType="GridViewColumnHeader">
                <Setter Property="ToolTip"
                        Value="{Binding Content, RelativeSource={RelativeSource Self}}"/>
            </Style>
        </GridView.ColumnHeaderContainerStyle>

        <GridViewColumn DisplayMemberBinding="{Binding A}" Header="A"/>
        <GridViewColumn DisplayMemberBinding="{Binding B}" Header="B"/>
        <GridViewColumn DisplayMemberBinding="{Binding C}" Header="C"/>
    </GridView>
</ListView>
于 2015-04-23T13:16:56.677 に答える
0

あなた自身で古い質問に答えるようなものはありません...

私は@Scroog1の答えに触発されましたTooltipが、そこにあるコンテンツを模倣するだけで少し冗長に見えます。Tooltip列ヘッダーのテキストを省略しているため、通常はが必要です。

に値AttachedPropertyを設定した小さなものを作成しました。それから私は私のためにこれに。TooltipGridViewColumnbindStyleGridViewColumnHeader

今、私は一度だけ定義し、それとそれを使用したい場所をStyle追加します。AttachedProperty

Xaml

    <Style x:Key="GridViewColumnHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
        <Setter Property="ToolTip" Value="{Binding Path=Column.(attachedProperties:GridViewColumnHeaderToolTipAttachedProperty.Tooltip), RelativeSource={RelativeSource Self}}" />
    </Style>

    <GridView x:Key="GridViewFuelConsumption"
              x:Shared="False">
        <GridViewColumn Header="Ред.Број"
                        DisplayMemberBinding="{Binding RedenBroj}"
                        HeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}"
                        attachedProperties:GridViewColumnHeaderToolTipAttachedProperty.Tooltip="Your explanation" />
    </GridView>

AttachedProperty

public sealed class GridViewColumnHeaderToolTipAttachedProperty : DependencyObject
{
    public static readonly DependencyProperty TooltipSourceProperty = DependencyProperty.RegisterAttached(
        "Tooltip",
        typeof(string),
        typeof(GridViewColumnHeaderToolTipAttachedProperty),
        new PropertyMetadata("null"));

    public static void SetTooltip(DependencyObject element, string value)
    {
        element.SetValue(TooltipSourceProperty, value);
    }

    public static string GetTooltip(DependencyObject element)
    {
        return (string)element.GetValue(TooltipSourceProperty);
    }
}
于 2021-03-28T21:45:18.670 に答える