Я пытаюсь использовать кнопки на экране для выполнения функции Tab и обратного Tab.Я хочу, чтобы приложение переключалось между кнопками «Сегмент» и другими кнопками, а затем пользователь мог выбрать одну из них с помощью клавиши «Ввод».Попытка сделать программу полностью управляемой с помощью клавиатуры.
Я пытался использовать событие KeyDown, а затем навигацию с направленным фокусом, но мне больше хочется, чтобы система имитировала вкладкунажмите клавишу, чтобы перейти по пути вкладки.
Это код, который я пытался обойти, но это не совсем та функциональность, которую я хочу.
private void Grid_KeyDown(object sender, KeyRoutedEventArgs e)
{
DependencyObject candidate = null;
var options = new FindNextElementOptions()
{
SearchRoot = WeldPGrid,
XYFocusNavigationStrategyOverride = XYFocusNavigationStrategyOverride.Projection
};
switch (e.Key)
{
case Windows.System.VirtualKey.Up:
candidate =
FocusManager.FindNextElement(
FocusNavigationDirection.Up, options);
break;
case Windows.System.VirtualKey.Down:
candidate =
FocusManager.FindNextElement(
FocusNavigationDirection.Down, options);
break;
case Windows.System.VirtualKey.Left:
candidate = FocusManager.FindNextElement(
FocusNavigationDirection.Left, options);
break;
case Windows.System.VirtualKey.Right:
candidate =
FocusManager.FindNextElement(
FocusNavigationDirection.Right, options);
break;
}
// Also consider whether candidate is a Hyperlink, WebView, or TextBlock.
if (candidate != null && candidate is Control)
{
(candidate as Control).Focus(FocusState.Keyboard);
}
}
Какокончательный результат Я хочу поместить смоделированное нажатие вкладки в событие щелчка или команду для кнопок сбоку, а не просто с помощью клавиш со стрелками.Любая помощь с этим вопросом будет принята с благодарностью!