Wygląda na to, że po uruchomieniu aplikacji WPF nic nie jest skupione.
To jest naprawdę dziwne. Każdy inny framework, którego użyłem, robi dokładnie to, czego można się spodziewać: początkowo skupia się na pierwszej kontrolce w kolejności tabulacji. Ale potwierdziłem, że jest to WPF, a nie tylko moja aplikacja - jeśli utworzę nowe okno i po prostu umieszczę w nim TextBox i uruchomię aplikację, TextBox nie jest aktywny, dopóki go nie kliknę lub nie naciśnę Tab . Fuj.
Moja aktualna aplikacja jest bardziej skomplikowana niż zwykły TextBox. Mam kilka warstw UserControls w ramach UserControls. Jedna z tych kontrolek UserControls ma moduły obsługi Focusable = "True" i KeyDown / KeyUp i chcę, aby była aktywna, gdy tylko otworzy się moje okno. Nadal jestem nowicjuszem w WPF i nie mam szczęścia, aby dowiedzieć się, jak to zrobić.
Jeśli uruchomię aplikację i naciśnę klawisz Tab, fokus przejdzie do mojej kontrolki, na której można ustawić fokus, i zacznie działać tak, jak chcę. Ale nie chcę, aby moi użytkownicy musieli naciskać Tab, zanim będą mogli rozpocząć korzystanie z okna.
Bawiłem się z FocusManager.FocusedElement, ale nie jestem pewien, którą kontrolkę ustawić (okno najwyższego poziomu? Rodzic, który zawiera kontrolkę, którą można ustawić?) Ani na co ją ustawić.
Co muszę zrobić, aby moja głęboko zagnieżdżona kontrola miała początkową fokus zaraz po otwarciu okna? Albo jeszcze lepiej, aby skupić się na pierwszej kontrolce, którą można ustawić w kolejności tabulacji?