我在usercontrol中有一系列没有附带标签的文本框。 我需要为用户提供一种方法,按Alt +(某些键)将焦点设置到每个文本框中。
如果我想使用内置的WPF“AccessText”方式,我需要在每个文本框旁边放一个Label,在快捷键前面指定一个带有'_'字符的内容,并指定每个Label的“Target”属性为其各自的Textbox。
不幸的是,在这种情况下,每个文本框都没有标签,也没有。
是否可以为文本框指定AccessText快捷键,而不使用Label?
答案 0 :(得分:0)
你可以按下按键组合,然后将焦点放在TextBox上:
* XAML:
<UserControl Loaded="UserControl_Loaded">
<Grid>
<StackPanel>
<TextBox Height="30" x:Name="txt1"/>
<TextBox Height="30" x:Name="txt2"/>
</StackPanel>
</Grid>
</UserControl>
* CS
public UserControl()
{
InitializeComponent();
}
private void KeyDownEvent(object sender, KeyEventArgs e)
{
bool x = Keyboard.IsKeyDown(Key.System);
if (Keyboard.IsKeyDown(Key.System) && Keyboard.IsKeyDown(Key.B))// Alt+B
{
txt2.Focusable = true;
txt2.Focus();
}
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
var window = Window.GetWindow(this);
window.KeyDown += KeyDownEvent;
txt1.Focusable = true;
txt1.Focus();
}
}