2010-04-17 59 views
4

我想在移动鼠标时显示工具提示。 这里是我的代码:如何强制在WPF中显示工具提示

private void Grid_MouseMove(object sender, MouseEventArgs e) 
     { 
      Grid grid = (Grid) sender; 
      if (e.GetPosition(grid).X < 100) 
       grid.ToolTip = e.GetPosition(grid).X.ToString(); 
      else 
       grid.ToolTip = null; 
     } 

然而,当我点击网格工具提示消失。

有没有办法强制显示工具提示?

回答

5
var oldTT = SomeElement.ToolTip as ToolTip; 
if (oldTT != null) oldTT.IsOpen = false; 
SomeElement.ToolTip = new ToolTip 
{ 
    Content = "Lalalalala", 
    IsOpen = true, 
}; 

var tt = SomeElement.ToolTip as ToolTip; 
if (tt != null) tt.IsOpen = true; 
+0

'ToolTip'在WPF只是'对象'。这段代码可能是Winforms ToolTip。 – Gerard 2014-03-20 14:41:38

+1

@Gerard,当然.ToolTip属性具有类似Label.Content的对象类型。但是,当您使用ToolTip类型设置值时,您可以轻松访问其属性,例如.IsOpen或Content。工具提示属性默认绑定。 – tmt 2014-09-25 15:35:19

3

TooltipService.ShowDuration的作品,但你必须有工具提示,这样设置的对象:

<Label ToolTipService.ShowDuration="120000" Name="lblTooltip" Content="Shows tooltip"> 
<Label.ToolTip> 
    <ToolTip> 
     <TextBlock>Hi world!</TextBlock> 
    </ToolTip> 
</Label.ToolTip>