Практическое руководство. Создание объекта, следующего за указателем мыши
В этом примере показано, как изменить размеры объекта, при перемещении указателя мыши на экране.
В примере 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;
}