问题
Lync 有一些热键/快捷键用于更改 ContactList 控件中的选项卡。这些热键是“g”、“s”和“r”。当我在任何网页上将 HTML 输入控件集中在 WebBrowser 内时按下这些键中的任何一个时,按键将转到 ContactList 控件而不是 WebBrowser 控件。在浏览器外部的控件(例如 WPF TextBox 控件)中键入时,按键不会被盗。
重现问题的步骤
- 已安装 Microsoft Lync 2013
- 从http://www.microsoft.com/en-au/download/details.aspx?id=36824下载并安装 Microsoft Lync 2013 客户端 sdk
- 创建一个 .net 4.0 wpf 应用程序。将 ContactList 控件拖放到 MainWindow 中,以便它自动设置引用和命名空间
将以下代码粘贴到 MainWindow.xaml 中的 Window 元素中
<Window... <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <controls:ContactList Name="contactList1" Grid.Column="0" /> <WebBrowser Grid.Column="1" Source="http://www.google.com" /> </Grid>
按“r”、“g”或“s”键进入 google 搜索框,注意按键是如何进入 lync 控件而不是搜索框的。任何其他键都可以正常工作。
我尝试过的事情
我试图阻止关键事件冒泡到 ContactList 控件。但是,我在这方面没有取得太大的成功。