AddHandler() public method

public AddHandler ( [ routedEvent, [ handler, [ handledEventsToo ) : void
routedEvent [
handler [
handledEventsToo [
return void
示例#1
0
        public HoldListener(UIElement target)
        {
            _pointerPressedHandler = new PointerEventHandler(Target_PointerPressed);
            _pointerMovedHandler = new PointerEventHandler(Target_PointerMoved);
            _pointerReleasedHandler = new PointerEventHandler(Target_PointerReleased);
            _pointerCanceledHandler = new PointerEventHandler(Target_PointerCanceled);
            _pointerCaptureLostHandler = new PointerEventHandler(Target_PointerCaptureLost);

            Target = target;
            Target.AddHandler(UIElement.PointerPressedEvent, _pointerPressedHandler, true);
            Target.Tapped += Target_Tapped;

            _timer = new DispatcherTimer
            {
                Interval = TimeSpan.FromSeconds(0.7)
            };
            _timer.Tick += Timer_Tick;
        }
        protected override void OnApplyTemplate()
        {
            try
            {
                container = GetTemplateChild(PART_ROOT_NAME) as Grid;
                inker = GetTemplateChild(PART_INKER_NAME) as InkCanvas;
                if (container != null && inker != null)
                {
                    container.Visibility = Visibility.Visible;
                    InitializeInker();

                    root = VisualTreeHelperEx.FindRoot(container, false);
                    contentPresenter = VisualTreeHelperEx.FindRoot(container, true);
                    
                    //contentPresenter.PointerEntered += Element_PointerEntered;
                    contentPresenter.AddHandler(UIElement.PointerEnteredEvent, new PointerEventHandler(Element_PointerEntered), true);

                    //contentPresenter.PointerExited += Element_PointerExited;
                    contentPresenter.AddHandler(UIElement.PointerExitedEvent, new PointerEventHandler(Element_PointerExited), true);

                    //contentPresenter.PointerCanceled += Element_PointerCanceled;
                    contentPresenter.AddHandler(UIElement.PointerCanceledEvent, new PointerEventHandler(Element_PointerCanceled), true);

                    //contentPresenter.PointerReleased += Element_PointerCanceled;
                    contentPresenter.AddHandler(UIElement.PointerReleasedEvent, new PointerEventHandler(Element_PointerCanceled), true);

                    //PointerReleased is never raised, then a PointerCanceled or PointerCaptureLos
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.ToString());
            }
        }