aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Core/ExtensionMethods
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2019-11-03 15:51:57 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2019-11-03 15:51:57 +0200
commit7092213ad8c196f0d5ca0c408a95893b556ce375 (patch)
tree21a1b0aa60fe6623734da1c7defc9053c0c8f3bb /Software/Visual_Studio/Tango.Core/ExtensionMethods
parentef84c828cc7b383f12a61eb6ae518e58d46cb9d2 (diff)
downloadTango-7092213ad8c196f0d5ca0c408a95893b556ce375.tar.gz
Tango-7092213ad8c196f0d5ca0c408a95893b556ce375.zip
Done.
Related Work Items: #1278
Diffstat (limited to 'Software/Visual_Studio/Tango.Core/ExtensionMethods')
-rw-r--r--Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs74
1 files changed, 74 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs b/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs
index 040668f7d..05e204f17 100644
--- a/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs
+++ b/Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs
@@ -460,6 +460,11 @@ public static class FrameworkElementExtensions
handler(element, args);
e.Handled = args.Handled;
+
+ if (Mouse.LeftButton == MouseButtonState.Pressed)
+ {
+ var a = 5;
+ }
}
};
@@ -499,6 +504,75 @@ public static class FrameworkElementExtensions
RegisterForMouseOrStylusMove(element, null, handler);
}
+ /// <summary>
+ /// Registers for mouse or stylus move.
+ /// </summary>
+ /// <param name="element">The element.</param>
+ /// <param name="relativeTo">The relative to.</param>
+ /// <param name="handler">The handler.</param>
+ public static void RegisterForPreviewMouseOrStylusMove(this FrameworkElement element, FrameworkElement relativeTo, EventHandler<MouseOrTouchEventArgs> handler)
+ {
+ bool _isTouch = false;
+
+ MouseEventHandler mouseHandler = (x, e) =>
+ {
+ if (!_isTouch)
+ {
+ var args = new MouseOrTouchEventArgs()
+ {
+ Location = new Point(e.GetPosition(relativeTo != null ? relativeTo : element).X, e.GetPosition(relativeTo != null ? relativeTo : element).Y),
+ Source = e.Source,
+ OriginalSource = e.OriginalSource,
+ Handled = e.Handled,
+ GetPositionAction = e.GetPosition
+ };
+
+ handler(element, args);
+ e.Handled = args.Handled;
+
+ if (Mouse.LeftButton == MouseButtonState.Pressed)
+ {
+ var a = 5;
+ }
+ }
+ };
+
+ //element.MouseMove += mouseHandler;
+ element.AddHandler(FrameworkElement.PreviewMouseMoveEvent, mouseHandler);
+
+ StylusEventHandler touchHandler = (x, e) =>
+ {
+ _isTouch = true;
+
+ var args = new MouseOrTouchEventArgs()
+ {
+ Location = new Point(e.GetPosition(relativeTo != null ? relativeTo : element).X, e.GetPosition(relativeTo != null ? relativeTo : element).Y),
+ Source = e.Source,
+ OriginalSource = e.OriginalSource,
+ Handled = e.Handled,
+ GetPositionAction = (s) => { return e.GetPosition(s); },
+ StylusDevice = e.StylusDevice,
+ };
+
+ handler(element, args);
+ e.Handled = args.Handled;
+ };
+
+
+ //element.TouchMove += touchHandler;
+ element.AddHandler(FrameworkElement.StylusMoveEvent, touchHandler);
+ }
+
+ /// <summary>
+ /// Registers for mouse or stylus move.
+ /// </summary>
+ /// <param name="element">The element.</param>
+ /// <param name="handler">The handler.</param>
+ public static void RegisterForPreviewMouseOrStylusMove(this FrameworkElement element, EventHandler<MouseOrTouchEventArgs> handler)
+ {
+ RegisterForPreviewMouseOrStylusMove(element, null, handler);
+ }
+
#endregion
#region Loaded