問題
Lync には、ContactList コントロールのタブを変更するためのホットキー/ショートカット キーがいくつかあります。これらのホットキーは「g」、「s」、および「r」です。Web ページの WebBrowser 内で HTML 入力コントロールをフォーカスしているときにこれらのキーのいずれかを押すと、キーを押すと、WebBrowser コントロールではなく ContactList コントロールに移動します。WPF TextBox コントロールなど、ブラウザーの外部にあるコントロールに入力するときに、キーの押下が盗まれることはありません。
問題を再現する手順
- Microsoft Lync 2013 がインストールされている
- Microsoft Lync 2013 クライアント SDK をhttp://www.microsoft.com/en-au/download/details.aspx?id=36824からダウンロードしてインストールします。
- .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 コントロールへのキー イベントのバブリングを停止しようとしました。しかし、私はこれであまり成功していません。