在WPF中,我想創建一個自定義工具提示,當它打開時,可以檢測到F1按鍵,讓用戶訪問更詳細的幫助文件。檢測WPF中的按鍵工具提示
對於可重用性,我的方法是創建一個UserControl
作爲工具提示。控件將檢測到KeyDown
事件,然後執行可綁定的Command
。
但實際上KeyDown
事件從未出現過。也許工具提示不適用於鍵盤事件?我曾嘗試爲UserControl
設置KeyDown
事件,然後爲UserControl
內的子控件設置,但沒有任何運氣。
這裏是用戶控件的(一個示例)與KeyDown事件:
<UserControl x:Class="HotKeyToolTip"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
KeyDown="UserControl_KeyDown">
下面是這種控制將如何被聲明作爲工具提示,在這種情況下的組合框的項的示例:
<ComboBox.ItemContainerStyle>
<Style>
<Setter Property="Control.ToolTip">
<Setter.Value>
<local:HotKeyToolTip Focusable="True"/>
</Setter.Value>
</Setter>
</Style>
</ComboBox.ItemContainerStyle>
嘗試'PreviewKeyDown'代替,看看是否能觸發事件 –
好主意,但'PreviewKeyDown'沒有出現改變的事情。我認爲Combobox在我的例子中仍然是重點 - 按下正確的字母將在所選項目之間切換。 – Tekito