Nasıl yapılır: Fare İşaretçisini İzleyen Bir Nesne Oluşturma

Bu örnek, fare işaretçisi ekranda taşırken bir nesnenin boyutlarının nasıl değiştirileceğini gösterir.

Örnek Extensible Application Markup Language (XAML) , kullanıcı arabirimi (UI) ve olay işleyicisini oluşturan arka plan kod dosyasını oluşturan bir dosya içerir.

Örnek

Aşağıdaki XAML, Kullanıcı arabirimi Ellipse bir öğesinin içinden oluşan ve olay işleyicisini bağlayan öğesini oluşturur StackPanel MouseMove .

<Window x:Class="WCSamples.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://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>

Aşağıdaki kod arkasında MouseMove olay işleyicisi oluşturulur. Fare işaretçisi taşırken, öğesinin yüksekliği ve genişliği Ellipse artar ve azalır.

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

Ayrıca bkz.