Jak ustawić fokus w UWP

0

Witam,

mam pewien problem w UWP, a dokładnie, chcę ustawić fokus na konkretny przycisk na danej stronie.
Mianowicie mam na stronie pewien UserControl, który posiada przycisk przejścia dalej, chciałbym zaraz po wejściu na stronę, za pomocą enter, móc ten przycisk kliknąć ( nie chcę na sztywno przypinać entera, bo czasami będę musiał pewne dane wprowadzić na tej stronie ), chodzi mi, aby fokus był ustawiony od razu na tym przycisku. W tym momencie jedyną możliwością jest przejściem Tab po wszystkich elementach UI, jest to uciążliwe. Szukałem już różnych rozwiązań, ale żadne nie pasuje pod przycisk w UserControl, który znajduje się na stronie.

Czy ktoś miał podobny problem w UWP?

1

Najgorsze co można było wybrać to UWP... Wszystko zależy od tego jaki element jest nadrzędnym w Page oraz w UserControl. Jeśli Grid to możesz spróbować tak:

    public sealed partial class BlankPage1 : Page
    {
        public BlankPage1()
        {
            this.InitializeComponent();
        }

        public void FindMyButton()
        {
            //this = Page
            Grid grid = this.Content as Grid;

            IEnumerable<UserControl> userControls = grid.Children.OfType<UserControl>();

            UserControl myUserControl = userControls.FirstOrDefault(x => x.Name == "myUserControl");

            Grid myUserControlGrid = myUserControl.Content as Grid;

            IEnumerable<Button> buttons = myUserControlGrid.Children.OfType<Button>();

            Button myButton = buttons.FirstOrDefault(x=>x.Name == "btnMyButton");

            myButton.Focus(FocusState.Programmatic);
        }
    }

Pamiętaj, że to jest prowizorka żeby cię nakierować jak możesz to rozwiązać. Nie wiem jak wygląda twoje UI. Można też to zrobić w nieco skróconej wersji, ale specjalnie napisałem tyle linijek żebyś wiedział co się skąd bierze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1