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
Referenziare un @layer più alto in CSS
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
.NET Conference Italia 2024
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Implementare l'infinite scroll con QuickGrid in Blazor Server
Disabilitare automaticamente un workflow di GitHub (parte 2)
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Usare le navigation property in QuickGrid di Blazor
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Eseguire script pre e post esecuzione di un workflow di GitHub
Creare gruppi di client per Event Grid MQTT
I più letti di oggi
- Utilizzare le Azure Durable Function con C#
- Utilizzare extend in LESS per estendere uno stile con altri stili CSS
- Windows Phone 7.5 Developer Day: costruire un'app in 60 minuti
- Creare un bottone arrotondato stile Windows 8 con HTML5 e CSS
- Tutorial .NET Framework 3.5
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Disabilitare Aero programmaticamente per incrementare le performance di WPF
- .NET 7 Live Q&A
- Utilizzare la libreria FluentValidation per validare formalmente un oggetto .NET
- Organizzare le view per DeviceFamily nelle Universal Windows App