StylusDevice.Synchronize Method ()

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Synchronizes the cursor and the user interface.

Namespace:   System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

[SecurityCriticalAttribute]
public void Synchronize()

Applications may need to locate the element that the cursor is positioned over. If the application uses animation, the DirectlyOver method might return an element that has moved out from under the cursor. Call Synchronize to be sure that DirectlyOver returns the proper element.

The following example demonstrates how to return an element that is under the cursor. Calling Synchronize ensures that DirectlyOver returns the correct element.

void AnimateButton()
{
    TranslateTransform buttonTransform = new TranslateTransform(0, 0);
    button1.RenderTransform = buttonTransform;

    // Animate the Button's position.
    DoubleAnimation myDoubleAnimation = new DoubleAnimation();
    myDoubleAnimation.From = 0;
    myDoubleAnimation.By = 100;
    myDoubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(5));
    myDoubleAnimation.AutoReverse = true;
    myDoubleAnimation.RepeatBehavior = RepeatBehavior.Forever;

    buttonTransform.BeginAnimation(TranslateTransform.XProperty, myDoubleAnimation);       

}
void SynchronizeCurrentStylus()
{
    StylusDevice currentStylus = Stylus.CurrentStylusDevice;

    currentStylus.Synchronize();
    UIElement element = (UIElement) currentStylus.DirectlyOver;
    output.Text += "The stylus is over " + element.ToString() + "\r\n";
}

.NET Framework
Available since 3.0
Return to top
Show: