大家好我想在wpf中使用快捷键(使用左右键)和tabcontrol在tabitem之间导航
我在Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
switch (e.Key)
{
case Key.Right:
if (tbControl.TabIndex == 0)
tbControl.TabIndex = 1;
break;
case Key.Left:
if (tbControl.TabIndex == 0)
tbControl.TabIndex = 1;
break;
}
但它没有做任何事情 我希望tabitem与左右键之间的导航 感谢
答案 0 :(得分:4)
当您使用TabControl.TabIndex
时,您正在使用TabControl.SelectedIndex
,如下所示:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Right:
if (tbControl.SelectedIndex == 0)
tbControl.SelectedIndex = 1;
break;
case Key.Left:
if (tbControl.SelectedIndex == 1)
tbControl.SelectedIndex = 0;
break;
}
}
TabIndex
对所有控件都是通用的,表示当用户按下 Tab 键时控件的聚焦顺序。 SelectedIndex
特定于选择器控件(例如TabControl
,ListBox
,ComboBox
等),并代表所述控件中当前所选项的索引。
此外,如果您希望使用两个以上的标签,我会将您的case
语句更改为更像这样的内容:
case Key.Right:
if (tbControl.SelectedIndex < tbControl.Items.Count - 1)
tbControl.SelectedIndex++;
break;
case Key.Left:
if (tbControl.SelectedIndex > 0)
tbControl.SelectedIndex--;
break;