<Grid
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006"
mc:Ignorable="d"
x:Class="InputExamples.MousePosition"
Width="640" Height="480">
<Label d:LayoutOverrides="Height" x:Name="firstCoordinates"/>
<Rectangle Stroke="#FF000000" Fill="#FFFFFFFF" x:Name="Rectangle"/>
<Ellipse Stroke="#FF000000" Fill="#FFFFFFFF" x:Name="secondEllipse"/>
<Ellipse d:LayoutOverrides="Height" Stroke="#FF000000" Width="14" Height="14" x:Name="firstEllipse"/>
<Ellipse d:LayoutOverrides="Width" Stroke="#FF000000" Width="14" Height="14" x:Name="fourthEllipse"/>
<Ellipse d:LayoutOverrides="Width" Stroke="#FF000000" Width="14" Height="14" x:Name="thirdEllipse"/>
<Label d:LayoutOverrides="Width, Height" Width="66" Height="22" x:Name="secondCoordinates"/>
<Label d:LayoutOverrides="Width, Height" Width="66" Height="22" x:Name="thirdCoordinates"/>
<Label d:LayoutOverrides="Width, Height" Width="66" Height="22" x:Name="fourthCoordinates"/>
<Ellipse Fill="Red" Width="16" Height="16" x:Name="DragEllipse"/>
</Grid>
//File:Window.xaml.cs
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace InputExamples
{
public partial class MousePosition
{
private TranslateTransform ellipseTransform = new TranslateTransform();
public MousePosition()
{
this.InitializeComponent();
}
protected override void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
DragEllipse.RenderTransform = ellipseTransform;
CompositionTarget.Rendering += this.CompositionTarget_Rendering;
}
private void CompositionTarget_Rendering(object sender, EventArgs e)
{
Point mouse1 = Mouse.GetPosition(firstEllipse);
Point mouse2 = Mouse.GetPosition(secondEllipse);
Point mouse3 = Mouse.GetPosition(thirdEllipse);
Point mouse4 = Mouse.GetPosition(fourthEllipse);
firstCoordinates.Content = mouse1.ToString();
secondCoordinates.Content = mouse2.ToString();
thirdCoordinates.Content = mouse3.ToString();
fourthCoordinates.Content = mouse4.ToString();
Point position = Mouse.GetPosition(DragEllipse);
ellipseTransform.X += position.X - (DragEllipse.Width / 2);
ellipseTransform.Y += position.Y - (DragEllipse.Height / 2);
}
}
}
|