private void AddEventHandlers(UIElement element, bool handled) { var data = new AdditionalElementHandlerData() { Pressed = new PointerEventHandler(OnPointerPressed), Moved = new PointerEventHandler(OnPointerMoved), Released = new PointerEventHandler(OnPointerReleased), Cancelled = new PointerEventHandler(OnPointerCanceled) }; if (!_attachedElements.ContainsKey(element)) { _attachedElements.Add(element, data); element.AddHandler(UIElement.PointerPressedEvent, data.Pressed, handled); element.AddHandler(UIElement.PointerMovedEvent, data.Moved, handled); element.AddHandler(UIElement.PointerReleasedEvent, data.Released, handled); element.AddHandler(UIElement.PointerCanceledEvent, data.Cancelled, handled); } }
public void AddAdditionalElement(UIElement element, bool handled = true) { var data = new AdditionalElementHandlerData() { Pressed = new PointerEventHandler(OnPointerPressed), Moved = new PointerEventHandler(OnPointerMoved), Released = new PointerEventHandler(OnPointerReleased), Cancelled = new PointerEventHandler(OnPointerCanceled) }; if (!_attachedElements.ContainsKey(element)) { _attachedElements.Add(element, data); element.AddHandler(UIElement.PointerPressedEvent, data.Pressed, handled); element.AddHandler(UIElement.PointerMovedEvent, data.Moved, handled); element.AddHandler(UIElement.PointerReleasedEvent, data.Released, handled); element.AddHandler(UIElement.PointerCanceledEvent, data.Cancelled, handled); if (element is FrameworkElement f**k) { f**k.Unloaded += OnAdditionalElementUnloaded; } } }