2014-10-02 141 views
2

我有我的datagrid配置爲顯示每行的自定義工具提示。WPF datagrid tooltip延遲

我的問題是,這個工具提示對用戶來說有點侵略性,並且佔用了很大一部分屏幕(我沒有選擇減少它)。因此,爲了減少攻擊性,我將一個屬性設置爲InitialShowDelay爲2000毫秒,以便在用戶將鼠標放在一行之後2秒鐘出現工具提示。

當鼠標位於其他位置時,它可以正常工作,然後進入數據網格並在一行之後(2秒鐘後出現工具提示)。但是現在,當移動到另一行(datagrid沒有失去焦點)時,其他行的工具提示立即出現。所以它看起來不考慮InitialShowDelay財產...

我的代碼是這樣的:

<DataGrid ...> 
    <DataGrid.RowStyle> 
     <Style TargetType="DataGridRow"> 
      <Setter Property="ToolTip" Value="{StaticResource TooltipTemplateStyle}"></Setter> 
      <Setter Property="ToolTipService.ShowDuration" Value="48000"></Setter> 
      <Setter Property="ToolTipService.InitialShowDelay" Value="2000"></Setter> 
     </Style> 
    </DataGrid.RowStyle> 
</DataGrid> 

你知道什麼辦法來設置提示延遲時間內從一行移動到另一個時相同的數據網格?

在此先感謝!

回答

1

我認爲你要找的是BetweenShowDelay。在這裏閱讀更多MSDN

使用(從頁面):

<Ellipse Height="25" Width="50" 
      Fill="Gray" 
      HorizontalAlignment="Left" 
      ToolTipService.InitialShowDelay="1000" 
      ToolTipService.ShowDuration="7000" 
      ToolTipService.BetweenShowDelay="2000"> 
+0

這使得有很大的意義! MSDN的例子似乎很清楚,但是當把它放到RowStyle setters中時,不起作用:(如果我嘗試將它放入DataGrid定義()也嘗試玩價值(2000,10000,1,0,...),但沒有任何工作。 – 2014-10-02 09:03:32