3

我正在为我们的一个应用程序开发一个新的演示组件。我正在构建一个自定义 WPF 控件,其中只有一个 DocumentViewer,并将该 CC 托管在一个带有 ElementHost 的 Windows 窗体应用程序中。我正在使用带有 C# 的 Visual Studio 2008。

我已经通过 XAML 自定义了所有内容,使其具有将其完美集成到我们的应用程序中的外观和感觉,但有一件事仍然存在......

如果按 CTRL+P,打印对话框仍然会出现。我完全不知道如何禁用该功能。使用此 CC 是为了允许用户拉起并查看安装在该站点的系统的手册,但我们不希望他们意外打印它们(100 页)。

4

2 回答 2

6

将以下代码添加到 DocumentViewer:

    <DocumentViewer.InputBindings>
        <KeyBinding Key="P" Modifiers="Control" Command="ApplicationCommands.NotACommand" />
    </DocumentViewer.InputBindings>
于 2010-06-09T18:39:09.440 回答
2

您可以随时尝试使用 keydown 事件,如下所示:

private void Window_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.P && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
        {
            e.Handled = true; 
        }
    }
于 2010-06-09T17:42:07.387 回答