2017-03-09 59 views
0

我有一個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,動態和靜態資源,但沒有一個工作。另外如果我在樣式中沒有Setter,ToolTip根本不會出現。如果我在控件中使用額外的樣式,它可以工作,但我失去了字典中的原始樣式集。

您能否建議如何在樣式中設置工具提示以便在定義每個DataGrid列時添加特定文本?

+0

這可能會有所幫助:http://stackoverflow.com/questions/1735573/unable-to-set-datagridcolumns-tooltip/1736347#1736347 – Cesario

+1

是的,我找到了這個鏈接的解決方案。很簡單,只需將Header更改爲TextBlock併爲TextBlock設置ToolTip即可。我不需要在資源字典文件中做任何事情。謝謝! – v31

回答

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> 

而且我刪除了從資源字典文件中的工具提示的二傳手。

相關問題