Приложение на C# + WPF
В одном окне у меня есть метод, который обрабатывает нажатия на горячие клавиши. В данном случае использую клавишу "Тильда"
Мне бы не хотелось иметь методы для обработки всех клавиш для каждого окна, а сделать общий класс, который бы обрабатывал все нажатия горячих клавиш для всех окон приложения
Как перенести методы горячих клавиш в отдельный класс?
QuestWindow.xaml:
<Window x:Class="ToolkitsNew.QuestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ToolkitsNew"
mc:Ignorable="d"
Closing="CloseQuestionWindow"
Icon="images/icons/icon without logo.ico"
Background="#535353"
Topmost="True"
KeyDown="ShowPreviewCard"
Title="Card Editor"
WindowStartupLocation="CenterScreen"
Height="500"
Width="734">
QuestWindow.cs:
private void ShowPreviewCard(object sender, KeyEventArgs e)
{
if (e.Key == Key.OemTilde)
{
e.Handled = true;
if (keyTilde == 0)
{
window.Topmost = true;
window.cardText.Text = questionTextBox.Text;
window.cardBorder.Visibility = Visibility.Visible;
keyTilde = 1;
}
else if (keyTilde == 1)
{
window.cardText.Text = answerTextBox.Text;
keyTilde = 2;
}
else if (keyTilde == 2)
{
window.cardBorder.Visibility = Visibility.Hidden;
keyTilde = 0;
this.Visibility = Visibility.Visible;
window.Topmost = false;
}
}
}