1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using PixiEditor.Views;
- using System.Diagnostics;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Input;
- using Xceed.Wpf.Toolkit.Zoombox;
- namespace PixiEditor.Helpers.Behaviours {
- public class MouseBehaviour : System.Windows.Interactivity.Behavior<FrameworkElement>
- {
- public static readonly DependencyProperty MouseYProperty = DependencyProperty.Register(
- "MouseY", typeof(double), typeof(MouseBehaviour), new PropertyMetadata(default(double)));
- public double MouseY
- {
- get { return (double)GetValue(MouseYProperty); }
- set { SetValue(MouseYProperty, value); }
- }
- public static readonly DependencyProperty MouseXProperty = DependencyProperty.Register(
- "MouseX", typeof(double), typeof(MouseBehaviour), new PropertyMetadata(default(double)));
- public double MouseX
- {
- get { return (double)GetValue(MouseXProperty); }
- set { SetValue(MouseXProperty, value); }
- }
- protected override void OnAttached()
- {
- AssociatedObject.MouseMove += AssociatedObjectOnMouseMove;
- }
- private void AssociatedObjectOnMouseMove(object sender, MouseEventArgs mouseEventArgs)
- {
- var pos = mouseEventArgs.GetPosition(AssociatedObject);
- MouseX = pos.X;
- MouseY = pos.Y;
- }
- protected override void OnDetaching()
- {
- AssociatedObject.MouseMove -= AssociatedObjectOnMouseMove;
- }
- }
- }
|