我有一个软件,使用多个XAML窗口用于不同的实例:例如,为了导出一些信息,我创建了具有与母软件不同格式的辅助XAML窗口。它们工作得很好。
我的问题是,如果我在不调用任何这些辅助XAML窗口的情况下使用我的软件,快捷键运行得很好。但是一旦我调用这些新的XAML窗口,快捷键就不再起作用了。我需要重新启动程序才能使它们恢复正常。
对此行为有什么线索吗? 另外,我还没有成功创建像CTRL + Letter这样的快捷键。我看到了很多代码,似乎相当简单,但它们就是不能用...
代码
有任何想法为什么会发生这种情况吗?
我的问题是,如果我在不调用任何这些辅助XAML窗口的情况下使用我的软件,快捷键运行得很好。但是一旦我调用这些新的XAML窗口,快捷键就不再起作用了。我需要重新启动程序才能使它们恢复正常。
对此行为有什么线索吗? 另外,我还没有成功创建像CTRL + Letter这样的快捷键。我看到了很多代码,似乎相当简单,但它们就是不能用...
代码
private void Window_KeyDown(object sender, KeyEventArgs e)
{
Key key = e.Key;
if ((key == Key.Left) && previousButton.IsEnabled)
button_PreviewMouseDown(previousButton, null);
else if ((key == Key.Right) && nextButton.IsEnabled)
button_PreviewMouseDown(nextButton, null);
//New Label
else if (key == Key.L)
//else if (key == Key.LeftAlt && e.Key.ToString() == "L")
NewLabel_Click(sender, e);
// Begin Event
else if (key == Key.B)
BeginEvent_Click(sender, e);
// End Event
else if (key == Key.E)
EndEvent_Click(sender, e);
// Delete Label
else if (key == Key.K)
DeleteLabel_Click(sender, e);
else if (key == Key.R)
// Delete Event
DeleteEvent_Click(sender, e);
// Edit Label
else if (key == Key.I)
EditLabel_Click(sender, e);
// Edit Event
else if (key == Key.F)
EditEvent_Click(sender, e);
}
编辑 1
我现在发现只要调用一个 C# 弹出消息框,显示“事件创建成功”,快捷键就会重新启用!
MessageBox.Show("Event Created");
有任何想法为什么会发生这种情况吗?