我们假设我们有以下XAML:
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button Content="_Test" Margin="12" Width="200" Height="30" Click="OnClick" />
<ComboBox Margin="12" Width="200" Height="30" >
<ComboBox.Items>
<ComboBoxItem>First</ComboBoxItem>
<ComboBoxItem>Second</ComboBoxItem>
<ComboBoxItem>Third</ComboBoxItem>
</ComboBox.Items>
</ComboBox>
</StackPanel>
Alt + T快捷键将按下按钮。如何使用Alt + R快捷键打开组合框下拉列表?
更新: BTW,我知道Label的Target属性,我知道我可以创建KeyBinding(或类似的东西)并处理例如Ctrl + R,但我正在寻找更多简单的方法。
答案 0 :(得分:1)
我找到了以下解决方案。不像我预期的那么简单,但我可以忍受它。
首先,我需要指定ComboBox的名称:
<ComboBox x:Name="ResourcesComboBox" Margin="12" Width="200" Height="30" >
<ComboBox.Items>
<ComboBoxItem>First</ComboBoxItem>
<ComboBoxItem>Second</ComboBoxItem>
<ComboBoxItem>Third</ComboBoxItem>
</ComboBox.Items>
</ComboBox>
其次,在视图构造函数中注册访问键'R'并在事件处理程序中打开ComboBox:
public MainView()
{
InitializeComponent();
AccessKeyManager.Register("R", ResourcesComboBox);
AccessKeyManager.AddAccessKeyPressedHandler(ResourcesComboBox, AccessKeyPressedEventHandler);
}
//...
private void AccessKeyPressedEventHandler(object sender, AccessKeyPressedEventArgs e)
{
ResourcesComboBox.IsDropDownOpen = true;
}