Mouse Position and TranslateTransform : Mouse « Windows Presentation Foundation « C# / C Sharp






Mouse Position and TranslateTransform

Mouse Position and TranslateTransform
  

<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">
  <Rectangle Width="Auto" Height="Auto" x:Name="Rectangle" StrokeDashCap="Square" />
  <Ellipse Width="14" Height="14" x:Name="secondEllipse"/>
  <Ellipse d:LayoutOverrides="Height" Margin="20" Width="14" Height="14" x:Name="firstEllipse"/>
  <Ellipse d:LayoutOverrides="Width" Margin="30" Width="14" Height="14" x:Name="fourthEllipse"/>
  <Ellipse d:LayoutOverrides="Width" Margin="20" Width="14" Height="14" x:Name="thirdEllipse"/>
  <Ellipse Fill="Red" Margin="10" 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);
              
          Console.WriteLine(mouse1.ToString());
          Console.WriteLine(mouse2.ToString());
          Console.WriteLine(mouse3.ToString());
          Console.WriteLine(mouse4.ToString());
          
          Point position = Mouse.GetPosition(DragEllipse);
          ellipseTransform.X += position.X - (DragEllipse.Width / 2);
          ellipseTransform.Y += position.Y - (DragEllipse.Height / 2);
    }
  }
}

   
    
  








Related examples in the same category

1.A line which monitors the mouse entering its areaA line which monitors the mouse entering its area
2.Respond When the User Rotates the Mouse WheelRespond When the User Rotates the Mouse Wheel
3.Mouse PositionMouse Position
4.Detect whether the mouse button is pressed or released using the MouseButtonState property.Detect whether the mouse button is pressed or released using the MouseButtonState property.
5.Handler MouseLeftButtonDown and MouseLeftButtonUp eventsHandler MouseLeftButtonDown and MouseLeftButtonUp events
6.Mouse Enter and leave a BorderMouse Enter and leave a Border
7.Make an object follow the mouse pointer as it moves on the screen.Make an object follow the mouse pointer as it moves on the screen.
8.Use Mouse.AddPreviewMouseDownHandler(myEllipse, PreviewMouseDownEllipse);Use Mouse.AddPreviewMouseDownHandler(myEllipse, PreviewMouseDownEllipse);
9.Use Mouse.AddMouseDownHandler(myEllipse, MouseDownEllipse);Use Mouse.AddMouseDownHandler(myEllipse, MouseDownEllipse);
10.Use Mouse.PreviewMouseDown /Mouse.MouseDown Attribute from Grid elementUse Mouse.PreviewMouseDown /Mouse.MouseDown Attribute from Grid element
11.Grid MouseMoveGrid MouseMove
12.Grid MouseLeftButtonDownGrid MouseLeftButtonDown
13.Grid MouseLeftButtonUpGrid MouseLeftButtonUp
14.UI Element Mouse Clicked EventsUI Element Mouse Clicked Events
15.Handles the MouseDown event on the CanvasHandles the MouseDown event on the Canvas
16.Handles the MouseDown event on the UniformGridHandles the MouseDown event on the UniformGrid
17.Mouse cursor override and clearMouse cursor override and clear
18.Check the mouse event sourceCheck the mouse event source
19.Use the Mouse Wheel action methods that are defined by the IScrollInfo interfaceUse the Mouse Wheel action methods that are defined by the IScrollInfo interface
20.Mouse.LostMouseCaptureEventMouse.LostMouseCaptureEvent
21.Use Mouse.Capture to let a Control capture an eventUse Mouse.Capture to let a Control capture an event
22.Capture Mouse EllipseCapture Mouse Ellipse
23.Get mouse position with Mouse.GetPositionGet mouse position with Mouse.GetPosition
24.Point Hit TestPoint Hit Test
25.Replease mouse with Mouse.Capture(null)Replease mouse with Mouse.Capture(null)
26.Hit Result BehaviorHit Result Behavior