[#10] WP7Tips: Settare il focus di un controllo durante il cambio di item nel panorama
Durante lo sviluppo di una applicazione che usa il controllo panorama, si può avere l’esigenza di impostare il focus su un controllo specifico.
Ad esempio, se nel PanoramaItem è presente una TextBox, diventa comodo settare il focus su di essa e far aprire automaticamente la tastiera software.
Per farlo, è necessario sottoscrivere l’evento SelectionChanged del controllo panorama:
<controls:panorama foreground="White" selectionchanged="Panorama_SelectionChanged" title="Panorama Title">
Nel codice poi, verifichiamo che il PanoramaItem “a video” sia quello che ci interessa attraverso la proprietà Name e settiamo il focus sul controllo specific.
private void Panorama_SelectionChanged(object sender, SelectionChangedEventArgs e) {
if (e.AddedItems.Count > 0) {
if (((PanoramaItem)e.AddedItems[0]).Name == "New") {
tbxMessage.Focus();
} else {
this.Focus();
}
}}
Importante, nel ramo else, riportare il focus sulla pagina per nascondere la tastiera.
Questo tip l’ha scritto Michele Locuratolo. Avete dei tip e volete mandarmeli... li aspetto!