Mam ekran wyszukiwania w mojej aplikacji WPF. Ekran jest zaimplementowany jako UserControl w TabItem TabControl. Gdy użytkownik przełącza się na kartę Wyszukaj, chcę, aby fokus znalazł się w jednym konkretnym polu.Jak mogę się dowiedzieć, gdzie skupia się fokus w mojej aplikacji WPF?
Dodałem więc załadowaną procedurę obsługi zdarzeń do znacznika UserControl w Xaml i nazwałem metodę Focus kontrolki Chcę mieć początkową fokus w obsadzie Loaded. To działało świetnie, dopóki nie zaktualizowałem biblioteki kontrolnej Telerik, której używam dzisiaj. Teraz, kiedy przełączam się na zakładkę Wyszukaj, fokus NIE jest w polu, w którym chcę go mieć, ale nie mogę powiedzieć, na czym steruje fokus.
Pole, na którym chcę się skupić, już ma GotFocus & Obsługa zdarzeń LostFocus z innych powodów. Przypomniałem sobie, że w Win Forms argumenty obsługi zdarzeń LostFocus mówią, która kontrola ma się skupić. Więc umieściłem punkt przerwania w moim programie obsługi LostFocus & odkrył, że argumenty obsługi zdarzenia LostFocus w WPF nie zawierają tych informacji.
W jaki sposób mogę dowiedzieć się, gdzie skupia się fokus, bez korzystania z funkcji obsługi GotFocus na każdym sterowniku w moim sterowniku UserControl?
Tony
Dzięki, to jest to, czego potrzebowałem. Nie mogłem łatwo stwierdzić, w którym kierunku się znajduje, ponieważ trafiło ono do pola wyboru, które mam w formularzu, a to pokazuje fokus, umieszczając przerywane pole wokół pola wyboru. Jest mały i trudny do zobaczenia, chyba że naprawdę tego szukasz. Przynajmniej jest w mojej aplikacji. –
@ Tony Cieszę się, że pomogło. –