大家好我想在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;
}
Run Code Online (Sandbox Code Playgroud)
但它没有做任何我希望在tabitem与左右键之间导航谢谢
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;
}
}
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |