Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
public MainWindow(){ InitializeComponent(); SetF1CommandBinding();}Метод
SetFICommandBinding()CommandBindingCommandBindingApplicationCommands.Helpprivate void SetF1CommandBinding(){ CommandBinding helpBinding = new CommandBinding(ApplicationCommands.Help); helpBinding.CanExecute += CanHelpExecute; helpBinding.Executed += HelpExecuted; CommandBindings.Add(helpBinding);}Большинство объектов
CommandBindingCanExecuteExecutedWindowprivate void CanHelpExecute(object sender, CanExecuteRoutedEventArgs e){<b> // Если нужно предотвратить выполнение команды,</b><b> // то можно установить CanExecute в false.</b> e.CanExecute = true;}private void HelpExecuted(object sender, ExecutedRoutedEventArgs e){ MessageBox.Show("Look, it is not that difficult. Just type something!", "Help!");}В предыдущем фрагменте кода метод
CanHelpExecute()F1truefalseHelpExecute()Работа с командами Open и Save
Чтобы завершить текущий пример, вы добавите функциональность сохранения текстовых данных во внешнем файле и открытия файлов
*.txtTextBoxНачните с обновления элемента
MenuItemSaveOpenApplicationCommands<MenuItem Header="_File"> <MenuItem Command ="ApplicationCommands.Open"/> <MenuItem Command ="ApplicationCommands.Save"/> <Separator/> <MenuItem Header ="_Exit" MouseEnter ="MouseEnterExitArea" MouseLeave ="MouseLeaveArea" Click ="FileExit_Click"/></MenuItem>Вспомните, что все объекты команд реализуют интерфейс
ICommandCanExecuteExecutedПонадобится наполнить коллекцию
CommandBindingsWindow.CommandBindingsCommandBindingWindow<Window x:Class="MyWordPad.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MySpellChecker" Height="331" Width="508" WindowStartupLocation ="CenterScreen" ><b> <!-- Это информирует элемент управления Window о том, какие</b><b> обработчики вызывать при поступлении команд Open и Save --></b> <Window.CommandBindings> <CommandBinding Command="ApplicationCommands.Open" Executed="OpenCmdExecuted"