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.