private void OnOpenFileCommandExecute() { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "XML files (*.xml)|*.xml|All files (*.*)|*.*"; if (openFileDialog.ShowDialog() == true) { questionsReader.Open(openFileDialog.FileName); List <int> themesIdList = questionsReader.GetThemesId(); List <string> themesList = questionsReader.GetThemes(); // Сождаем меню с вариантами тем if (mainMenu[1].Children == null) { mainMenu[1].Children = new ObservableCollection <BindableMenuItem>(); } else { mainMenu[1].Children.Clear(); } for (int i = 0; i < questionsReader.GetThemesId().Count; i++) { BindableMenuItem menuItem = new BindableMenuItem(); menuItem.Id = themesIdList[i]; menuItem.Name = themesList[i]; menuItem.Command = SelectThemeCommand; mainMenu[1].Children.Add(menuItem); } } }
private void BuildMainMenu() { var limitFrameRateOption = new BindableMenuItem("Limit Frame Rate", (s_, e) => _config.LimitFrameRate = !_config.LimitFrameRate); limitFrameRateOption.DataBindings.Add(nameof(limitFrameRateOption.Checked), _config, nameof(_config.LimitFrameRate)); var pauseWhenFocusLostOption = new BindableMenuItem("Pause When Focus Lost", (s, e) => _config.PauseWhenFocusLost = !_config.PauseWhenFocusLost); pauseWhenFocusLostOption.DataBindings.Add(nameof(pauseWhenFocusLostOption.Checked), _config, nameof(_config.PauseWhenFocusLost)); var menu = new MainMenu(new[] { new MenuItem("&File", new[] { new MenuItem("&Open", OpenRom), new MenuItem("-"), new MenuItem("E&xit", CloseForm), }), new MenuItem("&Options", new[] { limitFrameRateOption, pauseWhenFocusLostOption }), }); this.Menu = menu; }