/ / przenieść focus klawiatury do następnego treeitem? - wpf, widok drzewa

przenieść focus klawiatury do następnego treeitem? - wpf, widok drzewa

Mam aplikację, która używa widoku drzewa w wpfz mvvm. Szablon treeitem zawiera pole tekstowe, w którym użytkownik może wprowadzić lub zmienić dane pola. Chciałbym, gdyby użytkownik naciśnieł podczas edycji tabulatora, gdyby przesunął się do następnego widocznego pola tekstowego treeitem i pozwoliłby mu rozpocząć edycję. czy to możliwe? Mogę złapać klawisz tabulacji, ale nie wiem, jak przejść do następnego elementu

Odpowiedzi:

0 dla odpowiedzi № 1

Ok "Nie jestem pewien, czy to najczystszy sposób, ale znalazłemsposób, aby to zrobić i nie wydaje się, że cierpi na problemy z szybkością, więc działa na razie, nadal byłby zainteresowany czystszą odpowiedzią, jeśli ktoś ją ma. Oto co zrobiłem:

Użyłem metody podobnej do tej, do której się odwołałem tutaj aby uzyskać kolekcję wszystkich pól tekstowych wTreeView. Następnie użyłem "nadawcy" dla zdarzenia KeyDown, rzutowanego do pola tekstowego i otrzymałem jego format danych, który jest moim modelem widoku dla tego węzła. Następnie użyłem mojego ogólnego modelu widoku, aby znaleźć model widoku następnego widocznego węzła (bardzo łatwo z dwukierunkowym wiązaniem do "IsExpanded") .Rozszerzałem wszystkie pola tekstowe znalezione na początku, dopóki nie znalazłem tego, który jest datacontextem, który był następnym widocznym modelem widoku i nazywał się Keyboard.Focus (myTextBox).

Tak jak powiedziałem, wygląda na to, że powinien istnieć bardziej przejrzysty sposób, ale działa na razie ...