2017-03-09 18 views
0

私は、鉱山コントロールの1つにDatagridを持ち、リソースディクショナリファイルにスタイルセットを持っています。ツールヒントを表示するには、私はスタイルにセッターを使用します。私はこのスタイルを使用してデータグリッドとコントロールでは、WPF Datagridヘッダーツールヒントには、列ヘッダーテキストと同じテキストが表示されます

<Style TargetType="{x:Type DataGridColumnHeader}"> 
    <Setter Property="SnapsToDevicePixels" Value="True" /> 
    <Setter Property="ToolTipService.ToolTip" Value="{Binding}"/> 

、私は、各列ヘッダーのツールヒントのための特定のテキストを設定しようとしましたが、それは動作しません。ツールヒントは、常にヘッダー内のテキストと同じテキストを示している。

<DataGridTextColumn x:Name="iEnumberColumn" Binding="{Binding IEnumber}" Width="100" Header="Column A" ToolTipService.ToolTip="Column A Tooltip" /> 

私はRelativeSource自己、動的および静的リソースに試してみましたが、どちらも1で動作します。また、スタイルにセッターがない場合、ツールヒントはまったく表示されません。私がコントロール内で追加のスタイルを使用すると、機能しますが、辞書の元のスタイルセットが失われてしまいます。

各DataGrid列を定義するときに特定のテキストを追加するには、スタイルにツールヒントを設定する方法をお勧めしますか?

+0

これは役に立ちます:http://stackoverflow.com/questions/1735573/unable-to-set-datagridcolumns-tooltip/1736347#1736347 – Cesario

+1

はい、私はこのリンクの解決策を見つけました。シンプルで、ヘッダーをTextBlockに変更し、TextBlockのツールチップを設定するだけです。私はリソースディクショナリファイルで何もする必要はありません。ありがとうございました! – v31

答えて

1

おそらくこれは唯一の方法ではありませんが、私は単純な解決策を見つけました。この1と

<DataGridTextColumn x:Name="iEnumberColumn" Binding="{Binding IEnumber}" Width="100" Header="Column A" ToolTipService.ToolTip="Column A Tooltip" /> 

:私は以下のコードを置き換え

<DataGridTextColumn x:Name="iEnumberColumn" Binding="{Binding IEnumber}" Width="100" > 
    <DataGridTextColumn.Header> 
     <TextBlock Text="ColumnA" ToolTip="Column A Tooltip"/> 
    </DataGridTextColumn.Header> 
</DataGridTextColumn> 

そして私は、リソースディクショナリファイルからツールヒントのためのセッターを削除しました。

関連する問題