Мое управление построено из вложенных полей списка и древовидных представлений. Каждый элемент окна списка/дерева также содержит богатые текстовые поля и другие элементы управления.WPF: сложное поведение фокуса вкладки
Я хочу определить тактику «табуляции» так, что когда пользователь нажимает «Вкладка», следующий фокусируемый элемент (в соответствии с определением, который я определяю), станет сфокусированным.
В настоящее время он не работает, так как я принимаю (он работает только частично).
Мой вопрос не касается моего дела - скорее о том, как определить такое поведение вообще. В качестве крайнего примера предположим, что я хочу полностью контролировать это и делать прыжок в фокусе между предметами, не физически близкими.
Любой может знать, как это можно контролировать?
Привет Джо, спасибо за ваш быстрый повторе. Это может быть возможным решением. Дело в том, что мой документ чрезвычайно сложный, пользователь может перемещать элементы вверх и вниз - мне придется управлять этими индексами. Вы знаете, как это будет вести себя в вложенных списках? Например, внешние элементы будут индексироваться из 0-N, а внутренние элементы также будут индексом от 0-M, если это так - ваше предложение будет работать для меня. – Gilad
Я никогда не вставлял один список внутри другого, поэтому я не уверен. Если вы пытаетесь использовать Tab для перемещения между элементами списка в том же списке, вам может потребоваться сыграть с KeyboardNavigation.TabNavigation в ListBox. Похоже, что порядок вкладок по умолчанию идет между элементами управления в том же элементе списка, а затем в следующий элемент списка. Если вам нужно что-то другое, взгляните на другие свойства KeyboardNavigation. Если вы все еще застряли, я думаю, вам придется опубликовать более конкретный вопрос. –