Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
public MainWindow()
{
InitializeComponent();
SetF1CommandBinding();
}
Метод
SetFICommandBinding()
CommandBinding
CommandBinding
ApplicationCommands.Help
private void SetF1CommandBinding()
{
CommandBinding helpBinding = new CommandBinding(ApplicationCommands.Help);
helpBinding.CanExecute += CanHelpExecute;
helpBinding.Executed += HelpExecuted;
CommandBindings.Add(helpBinding);
}
Большинство объектов
CommandBinding
CanExecute
Executed
Window
private 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()
F1
true
false
HelpExecute()
Работа с командами Open и Save
Чтобы завершить текущий пример, вы добавите функциональность сохранения текстовых данных во внешнем файле и открытия файлов
*.txt
TextBox
Начните с обновления элемента
MenuItem
Save
Open
ApplicationCommands
<MenuItem Header="_File">
<MenuItem Command ="ApplicationCommands.Open"/>
<MenuItem Command ="ApplicationCommands.Save"/>
<Separator/>
<MenuItem Header ="_Exit"
MouseEnter ="MouseEnterExitArea"
MouseLeave ="MouseLeaveArea" Click ="FileExit_Click"/>
</MenuItem>
Вспомните, что все объекты команд реализуют интерфейс
ICommand
CanExecute
Executed
Понадобится наполнить коллекцию
CommandBindings
Window.CommandBindings
CommandBinding
Window
<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"