Nello sviluppo di applicazioni WPF la formattazione di date, numeri o informazioni provenienti da database in funzione della lingua dell'utente è d'obbligo. Nel .NET Framework l'oggetto Thread possiede due proprietà CurrentCulture e CurrentUICulture di tipo CultureInfo che indicano rispettivamente la lingua da usare per la formattazione di numeri e date, e la lingua per la nazionalizzazione delle risorse. Normalmente queste proprietà sono automaticamente impostate in base al sistema operativo e vengono sfruttate da ASP.NET o WinForms.
In WPF però non è così e l'informazione della lingua è affidata alla proprietà Language, per default impostata su en-US, definita in FrameworkElement e in FrameworkContentElement.
Ecco un semplice esempio per formattare la data in base alla lingua italiana:
<TextBlock Language="it-IT" Text="{Binding Source={x:Static sys:DateTime.Now}}" />
La proprietà Language viene ereditata dagli elementi padri che la valorizzano perciò è possibile creare interfacce miste che mostrano contenuti con formattazioni di lingue diverse. In alternativa basta impostare o da codice o da markup la lingua a livello di Window o Page e per avere l'intera pagina formattata. L'esempio seguente adegua la lingua in modo automatico in base al sistema operativo:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:st="clr-namespace:System.Globalization;assembly=mscorlib" Language="{Binding Source={x:Static st:CultureInfo.CurrentUICulture}}" >
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Modificare il layout della paginazione del controllo CarouselView in Xamarin Forms
Realizzare un effetto gradiente tramite composition API nella Universal Windows Platform
Utilizzare la libreria FluentValidation per validare formalmente un oggetto .NET
Creare azioni rapide con SwipeView in Xamarin Forms
UI testing in applicazioni .NET desktop e mobile
Winget: un nuovo package manager per Windows
Sviluppare applicazioni con supporto al doppio schermo con Xamarin
Modificare il behavior del controllo SwipeView in Xamarin Forms
Dark mode e selezione dei temi in un'applicazione Xamarin Forms
Il futuro delle applicazioni Windows con .NET 5
Abilitare l'uso di C# 9 nelle applicazioni Xamarin.Forms
Creare un controllo Expander in un'app Xamarin Forms
I più letti di oggi
- Abilitare il drag&drop delle righe di una tabella in Angular
- Indicizzare Cosmos DB con Azure Search
- Utilizzare il CSS Grid Model per creare il layout di un sito
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Esecuzione condizionale dei task nelle pipeline YAML di Azure DevOps
- Creare un web server locale con LiveReload