Question: I have a tooltip for a Label and I want it to stay open until the user
moves the mouse to a different control.

I have tried the following properties on the tooltip:

```
StaysOpen="True"

```

and

```
ToolTipService.ShowDuration = "60000"

```

But in both cases the tooltip is only displayed for exactly 5 seconds.

Why are these values being ignored?

Answer: 
If you want to specify that only certain elements in your `Window` have 
effectively indefinite `ToolTip` duration you can define a `Style` in your `Window.Resources` for those elements. Here is a `Style` for `Button` that has such a `ToolTip` :

```
<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    ...>
    ...
    <Window.Resources>
        <Style x:Key="ButtonToolTipIndefinate" TargetType="{x:Type Button}">
            <Setter Property="ToolTipService.ShowDuration"
                    Value="{x:Static Member=sys:Int32.MaxValue}"/>
        </Style>
        ...
    </Window.Resources>
    ...
    <Button Style="{DynamicResource ButtonToolTipIndefinate}"
            ToolTip="This should stay open"/>
    <Button ToolTip="This Should disappear after the default time.">
    ...

```

One can also add `Style.Resources` to the `Style` to change the appearance of the `ToolTip` it shows, for example:

```
<Style x:Key="ButtonToolTipTransparentIndefinate" TargetType="{x:Type Button}">
    <Style.Resources>
        <Style x:Key="{x:Type ToolTip}" TargetType="{x:Type ToolTip}">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderBrush" Value="Transparent"/>
            <Setter Property="HasDropShadow" Value="False"/>
        </Style>
    </Style.Resources>
    <Setter Property="ToolTipService.ShowDuration"
            Value="{x:Static Member=sys:Int32.MaxValue}"/>
</Style>

```

Note: When I did this I also used `BasedOn` in the `Style` so everything else defined for the version of my custom control with a normal `ToolTip` would be applied.
Just for the sake of completeness:
In code it looks like this:

```
ToolTipService.SetShowDuration(element, 60000);

```