예제 #1
0
        public void Bubbling_Class_Handlers_Should_Be_Called()
        {
            var ev = new RoutedEvent(
                "test",
                RoutingStrategies.Bubble | RoutingStrategies.Tunnel,
                typeof(RoutedEventArgs),
                typeof(TestInteractive));
            var invoked = new List<string>();
            EventHandler<RoutedEventArgs> handler = (s, e) => invoked.Add(((TestInteractive)s).Name);

            var target = this.CreateTree(ev, null, 0);

            ev.AddClassHandler(typeof(TestInteractive), handler, RoutingStrategies.Bubble);

            var args = new RoutedEventArgs(ev, target);
            target.RaiseEvent(args);

            Assert.Equal(new[] { "2b", "1" }, invoked);
        }
예제 #2
0
        /// <summary>
        /// Initializes static members of the <see cref="InputElement"/> class.
        /// </summary>
        static InputElement()
        {
            IsEnabledProperty.Changed.Subscribe(IsEnabledChanged);

            GotFocusEvent.AddClassHandler <InputElement>(x => x.OnGotFocus);
            LostFocusEvent.AddClassHandler <InputElement>(x => x.OnLostFocus);
            KeyDownEvent.AddClassHandler <InputElement>(x => x.OnKeyDown);
            KeyUpEvent.AddClassHandler <InputElement>(x => x.OnKeyUp);
            TextInputEvent.AddClassHandler <InputElement>(x => x.OnTextInput);
            PointerEnterEvent.AddClassHandler <InputElement>(x => x.OnPointerEnterCore);
            PointerLeaveEvent.AddClassHandler <InputElement>(x => x.OnPointerLeaveCore);
            PointerMovedEvent.AddClassHandler <InputElement>(x => x.OnPointerMoved);
            PointerPressedEvent.AddClassHandler <InputElement>(x => x.OnPointerPressed);
            PointerReleasedEvent.AddClassHandler <InputElement>(x => x.OnPointerReleased);
            PointerWheelChangedEvent.AddClassHandler <InputElement>(x => x.OnPointerWheelChanged);

            PseudoClass <InputElement, bool>(IsEnabledCoreProperty, x => !x, ":disabled");
            PseudoClass <InputElement>(IsFocusedProperty, ":focus");
            PseudoClass <InputElement>(IsPointerOverProperty, ":pointerover");
        }
        public void Bubbling_Class_Handlers_Should_Be_Called()
        {
            var ev = new RoutedEvent(
                "test",
                RoutingStrategies.Bubble | RoutingStrategies.Tunnel,
                typeof(RoutedEventArgs),
                typeof(TestInteractive));
            var invoked = new List <string>();
            EventHandler <RoutedEventArgs> handler = (s, e) => invoked.Add(((TestInteractive)s).Name);

            var target = CreateTree(ev, null, 0);

            ev.AddClassHandler(typeof(TestInteractive), handler, RoutingStrategies.Bubble);

            var args = new RoutedEventArgs(ev, target);

            target.RaiseEvent(args);

            Assert.Equal(new[] { "2b", "1" }, invoked);
        }
예제 #4
0
        public void Typed_Class_Handlers_Should_Be_Called()
        {
            var ev = new RoutedEvent<RoutedEventArgs>(
                "test",
                RoutingStrategies.Bubble | RoutingStrategies.Tunnel,
                typeof(TestInteractive));

            var target = CreateTree(ev, null, 0);

            ev.AddClassHandler<TestInteractive>(x => x.ClassHandler, RoutingStrategies.Bubble);

            var args = new RoutedEventArgs(ev, target);
            target.RaiseEvent(args);

            Assert.True(target.ClassHandlerInvoked);
            Assert.True(target.GetVisualParent<TestInteractive>().ClassHandlerInvoked);
        }
예제 #5
0
 /// <summary>
 /// Initializes static members of the <see cref="SelectingItemsControl"/> class.
 /// </summary>
 static SelectingItemsControl()
 {
     IsSelectedChangedEvent.AddClassHandler <SelectingItemsControl>(x => x.ContainerSelectionChanged);
 }
예제 #6
0
파일: MyThumb.cs 프로젝트: elestedt/Zafiro
 static MyThumb()
 {
     DragStartedEvent.AddClassHandler <MyThumb>((x, e) => x.OnDragStarted(e), RoutingStrategies.Bubble);
     DragDeltaEvent.AddClassHandler <MyThumb>((x, e) => x.OnDragDelta(e), RoutingStrategies.Bubble);
     DragCompletedEvent.AddClassHandler <MyThumb>((x, e) => x.OnDragCompleted(e), RoutingStrategies.Bubble);
 }
예제 #7
0
 /// <summary>
 /// Initializes static members of the <see cref="SelectingItemsControl"/> class.
 /// </summary>
 static SelectingItemsControl()
 {
     IsSelectedChangedEvent.AddClassHandler <SelectingItemsControl>(x => x.ContainerSelectionChanged);
     SelectedIndexProperty.Changed.AddClassHandler <SelectingItemsControl>(x => x.SelectedIndexChanged);
     SelectedItemProperty.Changed.AddClassHandler <SelectingItemsControl>(x => x.SelectedItemChanged);
 }
예제 #8
0
 public DockItem()
 {
     ClickEvent.AddClassHandler <DockItem>(x => x.OnMouseDownWithin(this), handledEventsToo: true);
 }
예제 #9
0
 /// <summary>
 /// Initializes static member(s) of the <see cref="Thumb"/> class.
 /// </summary>
 static Thumb()
 {
     DragStartedEvent.AddClassHandler <Thumb>(x => x.OnDragStarted, RoutingStrategies.Bubble);
     DragDeltaEvent.AddClassHandler <Thumb>(x => x.OnDragDelta, RoutingStrategies.Bubble);
     DragCompletedEvent.AddClassHandler <Thumb>(x => x.OnDragCompleted, RoutingStrategies.Bubble);
 }