Vi sono pagine di Windows Phone 7, in cui si presentano una o più caselle di testo che, una volta popolate, in seguito al tap dell'utente su un'icona dell'application bar vengono prese in carico. Le guide line consigliano, infatti, di usare tale strumento per confermare dei dati o eseguire un'operazione, per cui è spesso la strada maestra da seguire.
L'appbar presenta però un piccolo difetto, dato che essa non fa perdere il focus alla TextBox su cui l'utente si trova, e di conseguenza il binding non copia il valore della casella sulla proprietà collegata, di un eventuale view model. Per risolvere questo problema si è quindi costretti a forzare l'operazione di binding, come illustrato nello snippet seguente.
// Ottengo l'elemento che ha il Focus FrameworkElement focusedElement = FocusManager.GetFocusedElement() as FrameworkElement; if (focusedElement != null && focusedElement is TextBox) { // Forzo l'update BindingExpression expression = focusedElement.GetBindingExpression(TextBox.TextProperty); if (expression != null) expression.UpdateSource(); }
Come si può vedere, si ricerca l'elemento sul quale il focus è presente, si ottiene l'espressione di binding e con il metodo UpdateSource si forza il travaso del valore.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare lo startup di applicazioni server e client con .NET Aspire
Utilizzare Azure Cosmos DB con i vettori
Collegare applicazioni server e client con .NET Aspire
Creare una custom property in GitHub
Ottenere un token di accesso per una GitHub App
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Utilizzare una qualunque lista per i parametri di tipo params in C#
Utilizzare DeepSeek R1 con Azure AI
Configurare e gestire sidecar container in Azure App Service
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Gestire il colore CSS con HWB
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web