Как заставить показывать всплывающую подсказку в WPF - PullRequest
5 голосов
/ 17 апреля 2010

Я хотел бы показать всплывающую подсказку при перемещении мыши. Вот мой код:

 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;
        }

Однако подсказка исчезает после нажатия на сетку.

Есть ли способ заставить показывать всплывающую подсказку?

Ответы [ 2 ]

6 голосов
/ 03 сентября 2013
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;
3 голосов
/ 04 августа 2014

TooltipService.ShowDuration работает, но вы должны установить его для объекта, имеющего всплывающую подсказку, например:

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

...