public void Tab_Should_Custom_Navigate_Within_Children()
        {
            Button current;
            Button next;
            var    target = new CustomNavigatingStackPanel
            {
                Children =
                {
                    (current    = new Button {
                        Content = "Button 1"
                    }),
                    new Button {
                        Content = "Button 2"
                    },
                    (next       = new Button {
                        Content = "Button 3"
                    }),
                },
                NextControl = next,
            };

            var result = KeyboardNavigationHandler.GetNext(current, NavigationDirection.Next);

            Assert.Same(next, result);
        }
Пример #2
0
        public void Tab_Should_Navigate_Outside_When_Null_Returned_As_Next()
        {
            Button current;
            Button next;
            var    target = new CustomNavigatingStackPanel
            {
                Children =
                {
                    new Button {
                        Content = "Button 1"
                    },
                    (current = new Button{
                        Content = "Button 2"
                    }),
                    new Button {
                        Content = "Button 3"
                    },
                },
            };

            var root = new StackPanel
            {
                Children =
                {
                    target,
                    (next = new Button {
                        Content = "Outside"
                    }),
                }
            };

            var result = KeyboardNavigationHandler.GetNext(current, NavigationDirection.Next);

            Assert.Same(next, result);
        }
        public void ShiftTab_Should_Custom_Navigate_From_Outside()
        {
            Button current;
            Button next;
            var    target = new CustomNavigatingStackPanel
            {
                Children =
                {
                    new Button {
                        Content = "Button 1"
                    },
                    new Button {
                        Content = "Button 2"
                    },
                    (next = new Button{
                        Content = "Button 3"
                    }),
                },
                NextControl = next,
            };

            var root = new StackPanel
            {
                [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Cycle,
                Children =
                {
                    (current    = new Button {
                        Content = "Outside"
                    }),
                    target,
                }
            };

            var result = KeyboardNavigationHandler.GetNext(current, NavigationDirection.Previous);

            Assert.Same(next, result);
        }