2014-10-30 53 views
0

給定一個UserControl,其特徵爲DataGrid,其列定義如下;在ResourceDictionary中爲DataGridCell設置工具提示

<DataGridTextColumn Binding="{Binding Path=MyStringProperty}"/> 

並應用於其限定了樣式DataGridCellUserControl資源字典;

<Style TargetType="{x:Type DataGridCell}"> 

是否可以將工具提示應用於使用綁定值的單元格?

我試過了;

<Style TargetType="{x:Type DataGridCell}"> 
    <Setter Property="ToolTip" Value="{Binding}" /> 
</Style> 

我天真地認爲,在這一點上,結合將是MyStringProperty的價值,因爲我認爲,設置在父項的結合會影響兒童項目(即細胞)的結合,但它實際上似乎是整個行的約束力。

有沒有辦法引用綁定到單元格的樣式設置器中的列的對象?

回答

1

DataGridCell中的DataContext應該與DataGridTextColumn中的相同。所以,如果你想工具提示中的單元格內容這種情況下,嘗試綁定到Content屬性是這樣的:

<Setter Property="ToolTip" Value="{Binding Path=Content, 
            RelativeSource={RelativeSource Self}}"/> 
+0

所以,問題是,我有多個DataGridTextColumns所有綁定到整個行的不同性質datacontext的。因此,在工具提示設置器中輸入確切的名稱不適用於我 - 我需要一種通用的方法。那可能嗎? – 2014-10-30 17:20:58

+0

@ChristopherMcAtackney我編輯了一下代碼,沒有測試過,請嘗試一下。 – 2014-10-30 17:32:52

+0

Hm,它實際上將文字路徑名顯示爲工具提示(例如「ErrorDetails」,而不是綁定到單元格的值)。有沒有辦法強迫我想知道的實際價值.. – 2014-10-30 17:38:39

相關問題