Exemple #1
0
        private void AddMenuBarItem_Click(object sender, RoutedEventArgs e)
        {
            var item = new MenuBarItem();

            item.Title = "New Menu Bar Item";
            menuBar.Items.Add(item);
        }
Exemple #2
0
        private void AddMenuBarToEmptyMenuBarItem_Click(object sender, RoutedEventArgs e)
        {
            int         eCount          = EmptyMenuBar.Items.Count;
            MenuBarItem mainMenuBarHelp = new MenuBarItem();

            mainMenuBarHelp.Title = "Help" + eCount;
            mainMenuBarHelp.SetValue(AutomationProperties.NameProperty, "Help" + eCount);
            MenuFlyoutItem newFlyout = new MenuFlyoutItem()
            {
                Text = "Add" + eCount
            };

            // UIA Name for interaction test
            newFlyout.SetValue(AutomationProperties.NameProperty, "Add" + eCount);
            mainMenuBarHelp.Items.Add(newFlyout);

            mainMenuBarHelp.Items.Add(new MenuFlyoutItem()
            {
                Text = "Remove" + eCount
            });
            EmptyMenuBar.Items.Add(mainMenuBarHelp);
        }
Exemple #3
0
        public async Task Verify_MenuBarItem_Bounds()
        {
            using (StyleHelper.UseFluentStyles())
            {
                var flyoutItem = new MenuFlyoutItem {
                    Text = "Open..."
                };
                var menuBarItem = new MenuBarItem
                {
                    Title = "File",
                    Items =
                    {
                        flyoutItem,
                        new MenuFlyoutItem {
                            Text = "Don't open..."
                        }
                    }
                };

                var menuBar = new MenuBar
                {
                    Items =
                    {
                        menuBarItem
                    }
                };

                var contentSpacer = new Border {
                    Background = new SolidColorBrush(Colors.Tomato), Margin = new Thickness(20)
                };
                Grid.SetRow(contentSpacer, 1);

                var hostPanel = new Grid
                {
                    Children =
                    {
                        menuBar,
                        contentSpacer
                    },
                    RowDefinitions =
                    {
                        new RowDefinition {
                            Height = GridLength.Auto
                        },
                        new RowDefinition {
                            Height = new GridLength(1, GridUnitType.Star)
                        }
                    }
                };

                WindowHelper.WindowContent = hostPanel;
                await WindowHelper.WaitForLoaded(hostPanel);

                var peer = new MenuBarItemAutomationPeer(menuBarItem);
                try
                {
                    peer.Invoke();

                    await WindowHelper.WaitForLoaded(flyoutItem);

                    var menuBarItemBounds = menuBarItem.GetOnScreenBounds();

                    var flyoutItemBounds = flyoutItem.GetOnScreenBounds();

                    var menuBarBounds = menuBar.GetOnScreenBounds();

                    Assert.AreEqual(32, menuBarItemBounds.Height, 1);

                    var expectedY = 39.0;
#if __ANDROID__
                    if (!FeatureConfiguration.Popup.UseNativePopup)
                    {
                        // If using managed popup, the expected offset must be adjusted for the status bar
                        expectedY += menuBarBounds.Y;
                    }
#endif

                    Assert.AreEqual(5, flyoutItemBounds.X, 3);
                    Assert.AreEqual(expectedY, flyoutItemBounds.Y, 3);
                }
                finally
                {
                    peer.Collapse();
                }
            }
        }