Show / Hide Table of Contents

Практическое руководство. Создание объекта, следующего за указателем мыши

В этом примере показано, как изменить размеры объекта, при перемещении указателя мыши на экране.

В примере XAML файл, который создает UI и файл кода, который создает обработчик событий.

Пример

Следующие XAML создает UI, который состоит из Ellipse внутри 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>

Следующий код создает MouseMove обработчик событий. При перемещении указателя мыши, высоту и ширину Ellipse увеличиваются и уменьшаются.

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

См. также

  • Общие сведения о входных данных
In This Article
  • Пример
  • См. также
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX