Esempio n. 1
0
        public void TestLoadedEvent()
        {
            Rectangle    rectangle       = new Rectangle();
            EventTrigger eventTrigger1   = new EventTrigger("Loaded");
            EventTrigger eventTrigger2   = new EventTrigger("MouseLeftButtonDown");
            StubAction   loadedAction    = new StubAction();
            StubAction   mouseDownAction = new StubAction();

            eventTrigger1.Actions.Add(loadedAction);
            eventTrigger1.Attach(rectangle);

            using (StubWindow window = new StubWindow(rectangle))
            {
                Assert.AreEqual(loadedAction.InvokeCount, 1, "Loaded action was invoked");
                eventTrigger1.EventName = "GotMouseCapture";
                rectangle.CaptureMouse();
                Assert.AreEqual(loadedAction.InvokeCount, 2, "GotMouseCapture action was invoked");
                rectangle.ReleaseMouseCapture();
                eventTrigger1.EventName = "Loaded";
                rectangle.CaptureMouse();
                Assert.AreEqual(loadedAction.InvokeCount, 2, "GotMouseCapture action was not invoked");
                rectangle.ReleaseMouseCapture();
            }
            eventTrigger1.Detach();
            Assert.IsNull(((IAttachedObject)eventTrigger1).AssociatedObject, "Trigger was detached");
        }
Esempio n. 2
0
        public void EventFired_SourceObjectChangesToNull_ListensToSourceName()
        {
            EventTrigger eventTrigger = CreateEventTrigger();

            Grid      grid             = CreateGrid();
            Rectangle host             = CreateNamedElement <Rectangle>("rect");
            Button    sourceButton     = CreateNamedElement <Button>("sourcebutton");
            Button    sourceNameButton = CreateNamedElement <Button>("sourceNameButton");

            AddChildElement(grid, host);
            AddChildElement(grid, sourceButton);
            AddChildElement(grid, sourceNameButton);

            using (StubWindow window = new StubWindow(grid))
            {
                StubAction action = AttachTriggerToObject(eventTrigger, host);
                eventTrigger.SourceObject = sourceButton;
                eventTrigger.SourceName   = "sourceNameButton";
                eventTrigger.EventName    = "Click";
                eventTrigger.ClearValue(EventTriggerBase.SourceObjectProperty);
                System.Windows.RoutedEventArgs args = CreateClickEvent();

                sourceButton.RaiseEvent(args);
                Assert.AreEqual(action.InvokeCount, 0, "Click on source object button should not invoke the action, as the SourceObject has been cleared.");
                sourceNameButton.RaiseEvent(args);
                Assert.AreEqual(action.InvokeCount, 1, "Click on source name button when SourceObject has been cleared should invoke the action.");
            }
        }
Esempio n. 3
0
        public void EventFired_SourceObjectAndSourceNameSet_ListensOnlyToSourceObject()
        {
            EventTrigger eventTrigger = CreateEventTrigger();

            Grid      grid             = CreateGrid();
            Rectangle host             = CreateNamedElement <Rectangle>("rect");
            Button    sourceButton     = CreateNamedElement <Button>("sourcebutton");
            Button    sourceNameButton = CreateNamedElement <Button>("sourceNameButton");

            AddChildElement(grid, host);
            AddChildElement(grid, sourceButton);
            AddChildElement(grid, sourceNameButton);

            using (StubWindow window = new StubWindow(grid))
            {
                StubAction action = AttachTriggerToObject(eventTrigger, host);
                eventTrigger.EventName    = "Click";
                eventTrigger.SourceName   = "sourceNameButton";
                eventTrigger.SourceObject = sourceButton;
                System.Windows.RoutedEventArgs args = CreateClickEvent();

                sourceNameButton.RaiseEvent(args);
                Assert.AreEqual(action.InvokeCount, 0, "Click on source name button when SourceObject is set to another object should not invoke the action.");
                sourceButton.RaiseEvent(args);
                Assert.AreEqual(action.InvokeCount, 1, "Click on source object button should invoke the action.");
            }
        }
Esempio n. 4
0
            public TestDragToken(MouseDragElementBehavior behavior, Point startPoint)
            {
                this.behavior       = behavior;
                this.draggedElement = (FrameworkElement)((IAttachedObject)behavior).AssociatedObject;;
                this.stubWindow     = new StubWindow(draggedElement.Parent);
                GeneralTransform rootToElement = this.stubWindow.TransformToVisual(draggedElement);

                behavior.StartDrag(rootToElement.Transform(startPoint));
            }
 private void Test_SetBindingValue_ValueChanged(TriggerBase <DependencyObject> trigger, StubAction stubAction, StubDataStore dataStore)
 {
     using (StubWindow window = new StubWindow(null))
     {
         // Change the value on the data store.
         dataStore.Foo = "foo";
         // Force the Data binding phase
         DispatcherHelper.ForceDataBinding();
         Assert.AreEqual(stubAction.InvokeCount, 1, "The trigger should have been invoked once.");
     }
 }
Esempio n. 6
0
        public void EventFired_EventFiredOnAssociatedObjectWhenSourceNameObjectIsDifferent_DoesNotFire()
        {
            EventTrigger eventTrigger = CreateEventTrigger();

            Grid      grid   = CreateGrid();
            Rectangle rect   = CreateNamedElement <Rectangle>("rect");
            Button    button = CreateNamedElement <Button>("button");

            AddChildElement(grid, rect);
            AddChildElement(grid, button);

            using (StubWindow window = new StubWindow(grid))
            {
                StubAction action = AttachTriggerToObject(eventTrigger, rect);
                eventTrigger.SourceName = "button";
                eventTrigger.EventName  = "Click";
                System.Windows.RoutedEventArgs args = CreateClickEvent();

                rect.RaiseEvent(args);
                Assert.AreEqual(action.InvokeCount, 0, "Click on rect while Source=button should not invoke the action.");
            }
        }