Freigeben über


Gewusst wie: Konfigurieren eines Objekts zum Folgen des Mauszeigers

Dieses Beispiel zeigt, wie Sie ein Objekt so konfigurieren, dass sich seine Dimensionen ändern, wenn sich der Mauszeiger über den Bildschirm bewegt.

Das Beispiel umfasst eine Extensible Application Markup Language (XAML)-Datei, die die user interface (UI) erstellt, und eine CodeBehind-Datei, die den Ereignishandler erstellt.

Beispiel

Der folgende XAML-Code erstellt die UI, die aus einer Ellipse in einem StackPanel besteht, und fügt den Ereignishandler für das MouseMove-Ereignis an.

<Window x:Class="WCSamples.Window1"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    Title="mouseMoveWithPointer"
    Height="400"
    Width="500"
    >
  <Canvas MouseMove="MouseMoveHandler"
          Background="LemonChiffon">
    <Ellipse Name="ellipse" Fill="LightBlue" 
             Width="100" Height="100"/>
  </Canvas>
</Window>

Der folgende Code-Behind erstellt den MouseMove-Ereignishandler. Wenn sich der Mauszeiger bewegt, nehmen Höhe und Breite der Ellipse zu oder ab.

' raised when the mouse pointer moves.
' Expands the dimensions of an Ellipse when the mouse moves.
Private Sub OnMouseMoveHandler(ByVal sender As Object, ByVal e As MouseEventArgs)

    'Get the x and y coordinates of the mouse pointer.
    Dim position As System.Windows.Point
    position = e.GetPosition(Me)
    Dim pX As Double
    pX = position.X
    Dim pY As Double
    pY = position.Y

    'Set the Height and Width of the Ellipse to the mouse coordinates.
    ellipse1.Height = pY
    ellipse1.Width = pX
End Sub
// raised when the mouse pointer moves.
// Expands the dimensions of an Ellipse when the mouse moves.
private void MouseMoveHandler(object sender, MouseEventArgs e)
{
    // Get the x and y coordinates of the mouse pointer.
    System.Windows.Point position = e.GetPosition(this);
    double pX = position.X;
    double pY = position.Y;

    // Sets the Height/Width of the circle to the mouse coordinates.
    ellipse.Width = pX;
    ellipse.Height = pY;
}

Siehe auch

Konzepte

Übersicht über die Eingabe