diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2019-11-03 15:51:57 +0200 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2019-11-03 15:51:57 +0200 |
| commit | 7092213ad8c196f0d5ca0c408a95893b556ce375 (patch) | |
| tree | 21a1b0aa60fe6623734da1c7defc9053c0c8f3bb /Software/Visual_Studio/Tango.Core | |
| parent | ef84c828cc7b383f12a61eb6ae518e58d46cb9d2 (diff) | |
| download | Tango-7092213ad8c196f0d5ca0c408a95893b556ce375.tar.gz Tango-7092213ad8c196f0d5ca0c408a95893b556ce375.zip | |
Done.
Related Work Items: #1278
Diffstat (limited to 'Software/Visual_Studio/Tango.Core')
| -rw-r--r-- | Software/Visual_Studio/Tango.Core/ExtensionMethods/FrameworkElementExtensions.cs | 74 |
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 |
