Создание заготовок обработчиков
Будем мы использовать механизм команд WPF или нет, но без событий и их обработчиков никак не обойтись. Начнем с того факта, что для решения наших задач можно создать обработчики с одинаковой сигнатурой, определяемой делегатом пространства имен System.Windows:
public delegate void RoutedEventHandler(object sender, RoutedEventArgs e)
Имена обработчикам будем присваивать в соответствии с решаемой ими задачей. Обработчики создадим вручную и их необязательно сразу присоединять к событиям источников, поскольку неприсоединенные обработчики будут считаться обычными методами класса. Наиболее полно все задачи представлены в главном меню приложения, поэтому для каждой из них нужно создать свою группу обработчиков. Выполним все это по порядку, размещая группы обработчиков в соответствующих частях класса Window1.
- Добавьте в часть класса Window1, расположенную в файле File.cs, следующие пустые обработчики по количеству задач меню в разделе File
using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes; namespace Notepad1{ partial class Window1 { //------------------------------------------------------ // // Обработчики источников задач File // //------------------------------------------------------ private void NewOnExecute(object sender, RoutedEventArgs e) { } private void OpenOnExecute(object sender, RoutedEventArgs e) { } private void SaveOnExecute(object sender, RoutedEventArgs e) { } private void SaveAsOnExecute(object sender, RoutedEventArgs e) { } private void PageSetupOnExecute(object sender, RoutedEventArgs e) { } private void PrintPreviewOnExecute(object sender, RoutedEventArgs e) { } private void PrintOnExecute(object sender, RoutedEventArgs e) { } private void ExitOnExecute(object sender, RoutedEventArgs e) { } }} - Добавьте в часть класса Window1, расположенную в файле Edit.cs, следующие пустые обработчики по количеству задач меню в разделе Edit
using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes; namespace Notepad1{ partial class Window1 { //------------------------------------------------------ // // Обработчики источников задач Edit // //------------------------------------------------------ private void UndoOnExecute(object sender, RoutedEventArgs e) { } private void RedoOnExecute(object sender, RoutedEventArgs e) { } private void CutOnExecute(object sender, RoutedEventArgs e) { } private void CopyOnExecute(object sender, RoutedEventArgs e) { } private void PasteOnExecute(object sender, RoutedEventArgs e) { } private void DeleteOnExecute(object sender, RoutedEventArgs e) { } private void FindOnExecute(object sender, RoutedEventArgs e) { } private void FindNextOnExecute(object sender, RoutedEventArgs e) { } private void ReplaceOnExecute(object sender, RoutedEventArgs e) { } private void GoToOnExecute(object sender, RoutedEventArgs e) { } private void SelectAllOnExecute(object sender, RoutedEventArgs e) { } }} - Добавьте в часть класса Window1, расположенную в файле Other.cs, следующие пустые обработчики по количеству задач меню в оставшихся разделах
using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes; namespace Notepad1{ partial class Window1 { //------------------------------------------------------ // // Прочие обработчики // //------------------------------------------------------ private void FontOnExecute(object sender, RoutedEventArgs e) { } private void WordWrapOnExecute(object sender, RoutedEventArgs e) { } private void AboutOnExecute(object sender, RoutedEventArgs e) { } }} - Запустите приложение и убедитесь, что ошибок компиляции нет, но функциональности от выполненной нами работы в нем пока не прибавилось
Дата добавления: 2015-04-15; просмотров: 724;