Megosztás a következőn keresztül:


Útmutató: Objektum létrehozása az egérmutatót követve

Ez a példa bemutatja, hogyan módosíthatja egy objektum méretét, amikor az egérmutató a képernyőn mozog.

A példában szerepel egy XAML-fájl, amely létrehozza a felhasználói felületet (UI) és egy kód mögötti fájlt, amely létrehozza az eseménykezelőt.

példa

A következő XAML létrehozza a felhasználói felületet, amely egy Ellipse-ből áll, ami egy StackPanel-en belül helyezkedik el, és csatolja a MouseMove eseménykezelőt.

<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 mögöttes kód létrehozza a MouseMove eseménykezelőt. Az egérmutató mozgatásakor a Ellipse magassága és szélessége nő és csökken.

// 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

Lásd még