Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

ToolTipService.VerticalOffset Attached Property

Gets or sets the distance from the top of the area that is specified for the tooltip by the PlacementRectangle and PlacementTarget properties.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

See GetVerticalOffset, SetVerticalOffset
<object VerticalOffset="double"/>
- or -
<object VerticalOffset="qualifiedDouble"/>

XAML Values



The string representation of a Double value that is equal to or greater than 0.0 but smaller than Double.PositiveInfinity. This is interpreted as a device-independent unit (1/96th inch) measurement. Strings do not have to explicitly include decimal points.


A Double value that is followed by one of these unit declaration strings: px, in, cm, pt.

px (default) is device-independent units (1/96th inch per unit)

in is inches; 1in==96px

cm is centimeters; 1cm==(96/2.54) px

pt is points; 1pt==(96/72) px

Property Value

Type: System.Double
A value that specifies a vertical distance. The default value is zero (0).

Identifier field


Metadata properties set to true


This property is an attached property. For information about how to get or set the value of this property in code, see the GetVerticalOffset and SetVerticalOffset methods. VerticalOffset behaves similarly to the Popup.VerticalOffset property. For more information, see Popup Placement Behavior.

This example shows how to specify the position of a tooltip on the screen.

You can position a tooltip by using a set of five properties that are defined in both the ToolTip and ToolTipService classes. The following table shows these two sets of five properties and provides links to their reference documentation according to class.

Corresponding tooltip properties according to class

If you define the contents of a tooltip by using a ToolTip object, you can use the properties of either class; however, the ToolTipService properties take precedence. Use the ToolTipService properties for tooltips that are not defined as ToolTip objects.

The following illustrations show how to position a tooltip by using these properties. Although, the Extensible Application Markup Language (XAML) examples in these illustrations show how to set the properties that are defined by the ToolTip class, the corresponding properties of the ToolTipService class follow the same layout rules. For more information about the possible values for the Placement property, see Popup Placement Behavior.

ToolTip placement by using the Placement property

ToolTip placement
ToolTip placement by using the Placement and PlacementRectangle properties

Placing a ToolTip by using a placement rectangle
ToolTip placement by using the Placement, PlacementRectangle, and Offset properties

ToolTip placement diagram

The following example shows how to use the ToolTip properties to specify the position of a tooltip whose content is a ToolTip object.

      <Ellipse Height="25" Width="50" 
          <ToolTip Placement="Right" 
                <Ellipse Height="10" Width="20" Fill="Blue"/>
              <TextBlock>Uses the ToolTip Class</TextBlock>

//Create an ellipse that will have a 
//ToolTip control. 
Ellipse ellipse1 = new Ellipse();
ellipse1.Height = 25;
ellipse1.Width = 50;
ellipse1.Fill = Brushes.Gray;
ellipse1.HorizontalAlignment = HorizontalAlignment.Left;

//Create a tooltip and set its position.
ToolTip tooltip = new ToolTip();
tooltip.Placement = PlacementMode.Right;
tooltip.PlacementRectangle = new Rect(50, 0, 0, 0);
tooltip.HorizontalOffset = 10;
tooltip.VerticalOffset = 20;

//Create BulletDecorator and set it
//as the tooltip content.
BulletDecorator bdec = new BulletDecorator();
Ellipse littleEllipse = new Ellipse();
littleEllipse.Height = 10;
littleEllipse.Width = 20;
littleEllipse.Fill = Brushes.Blue;
bdec.Bullet = littleEllipse;
TextBlock tipText = new TextBlock();
tipText.Text = "Uses the ToolTip class";
bdec.Child = tipText;
tooltip.Content = bdec;

//set tooltip on ellipse
ellipse1.ToolTip = tooltip;

The following example shows how to use the ToolTipService properties to specify the position of a tooltip whose content is not a ToolTip object.

<Ellipse Height="25" Width="50" 
        <Ellipse Height="10" Width="20" Fill="Blue"/>
      <TextBlock>Uses the ToolTipService class</TextBlock>

            //Create and Ellipse with the BulletDecorator as 
            //the tooltip 
            Ellipse ellipse2 = new Ellipse();
            ellipse2.Name = "ellipse2";
            this.RegisterName(ellipse2.Name, ellipse2);
            ellipse2.Height = 25;
            ellipse2.Width = 50;
            ellipse2.Fill = Brushes.Gray;
            ellipse2.HorizontalAlignment = HorizontalAlignment.Left;

            //set tooltip timing
            ToolTipService.SetInitialShowDelay(ellipse2, 1000);
            ToolTipService.SetBetweenShowDelay(ellipse2, 2000);
            ToolTipService.SetShowDuration(ellipse2, 7000);

            //set tooltip placement

            ToolTipService.SetPlacement(ellipse2, PlacementMode.Right);

                new Rect(50, 0, 0, 0));

            ToolTipService.SetHorizontalOffset(ellipse2, 10.0);

            ToolTipService.SetVerticalOffset(ellipse2, 20.0);

            ToolTipService.SetHasDropShadow(ellipse2, false);

            ToolTipService.SetIsEnabled(ellipse2, true);

            ToolTipService.SetShowOnDisabled(ellipse2, true);

                new RoutedEventHandler(whenToolTipOpens));
                new RoutedEventHandler(whenToolTipCloses));

            //define tooltip content
            BulletDecorator bdec2 = new BulletDecorator();
            Ellipse littleEllipse2 = new Ellipse();
            littleEllipse2.Height = 10;
            littleEllipse2.Width = 20;
            littleEllipse2.Fill = Brushes.Blue;
            bdec2.Bullet = littleEllipse2;
            TextBlock tipText2 = new TextBlock();
            tipText2.Text = "Uses the ToolTipService class";
            bdec2.Child = tipText2;
            ToolTipService.SetToolTip(ellipse2, bdec2);

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

© 2015 Microsoft