我正在为我们的某个应用程序开发一个新的演示组件。我正在构建一个自定义WPF控件,其中只有一个DocumentViewer,并在带有ElementHost的Windows窗体应用程序中托管该CC。我正在使用Visual Studio 2008和C#。
我已经通过XAML对所有内容进行了定制,使其外观和感觉能够完美地融入到我们的应用程序中,但有一件事仍然存在......
如果按CTRL + P,打印对话框仍会出现。我完全失去了如何禁用该功能。使用此CC是为了允许用户提取并查看该站点上安装的系统的手册,但我们不希望他们意外地打印它们(100页)。
答案 0 :(得分:6)
将以下代码添加到DocumentViewer:
<DocumentViewer.InputBindings>
<KeyBinding Key="P" Modifiers="Control" Command="ApplicationCommands.NotACommand" />
</DocumentViewer.InputBindings>
答案 1 :(得分:2)
您可以随时尝试使用keydown事件,如下所示:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.P && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
e.Handled = true;
}
}