Ho la seguente XAML estratto:Come impedire TextBlock di ottenere messa a fuoco automatica
<SplitView Name="Menu" DisplayMode="CompactOverlay" OpenPaneLength="200" CompactPaneLength="0" Grid.RowSpan="2">
<SplitView.Pane>
<StackPanel>
<AutoSuggestBox Margin="0,20,0,20" Width="170" PlaceholderText="Search" QueryIcon="Find"></AutoSuggestBox>
<ListBox>
<ListBoxItem Tapped="Projects_Tapped">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Library" />
<TextBlock Margin="10,0,0,0">Projects</TextBlock>
</StackPanel>
</ListBoxItem>
[....]
</ListBox>
</StackPanel>
</SplitView.Pane>
</SplitView>
Fondamentalmente, questo SplitView viene compattato fino a quando l'utente preme un tasto che poi imposta il IsPaneOpen
su true, che a sua volta mostra il mio menu dell'applicazione.
Il problema è che la prima cosa che ho nel menu è la casella di ricerca e sembra essere messa a fuoco automaticamente, non importa quello che faccio. Il fatto che sia focalizzato fa apparire la tastiera touch sui telefoni, che è molto fastidiosa e nasconde la maggior parte del menu sui piccoli telefoni.
Ho provato a giocare con la proprietà TabIndex
per dargli un numero enorme o anche per inserire un indice inferiore per qualcos'altro.
Ho anche provato a impostare il IsTabStop
su falso, ma questo non sembra fare nulla.
C'è un modo pulito per impedire al riquadro di ottenere automaticamente la messa a fuoco? (Oltre la disattivazione/nascondere l'elemento e quindi abilitazione/mostrando di nuovo)
Mentre questa soluzione ha funzionato per me, ho preferito la risposta di Elvis perché ritengo che sia più pulito. Stavo cercando di evitare del tutto il codice C# –