FrameworkElement.Language Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta informazioni sul linguaggio di localizzazione/globalizzazione applicabili a un FrameworkElement e anche a tutti gli elementi figlio di FrameworkElement corrente nella rappresentazione dell'oggetto e nell'interfaccia utente.
public:
property Platform::String ^ Language { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring Language();
void Language(winrt::hstring value);
public string Language { get; set; }
var string = frameworkElement.language;
frameworkElement.language = string;
Public Property Language As String
<frameworkElement Language="languageString" />
Valore della proprietà
Stringa che specifica la lingua e le impostazioni cultura che seguono gli standard IETF (Internet Engineering Task Force) BCP 47 . Ad esempio, l'inglese statunitense è "en-US".
Commenti
La proprietà Language è destinata all'impostazione di un'impostazione del linguaggio per elemento sugli elementi selezionati in un'interfaccia utente più grande. Il motivo principale per eseguire questa operazione consiste nell'influenzare le proprietà e le impostazioni correlate al testo, ad esempio il valore predefinito o il fallback FontFamily per la presentazione di testo.
Il valore predefinito per questa proprietà è la lingua superiore dell'elenco di lingue dell'app, derivato dall'elenco classificato dell'utente di lingue preferite. È consigliabile lasciare l'impostazione predefinita per questa proprietà, perché fornisce la migliore esperienza utente finale in termini di fallback dei tipi di carattere. Ad esempio, se l'app visualizza il contenuto dell'Asia orientale e l'utente ha specificato una lingua asiatica orientale nel profilo utente, il contenuto verrà visualizzato più affidabile nel tipo di carattere asiatico orientale desiderato.
La proprietà Language è principalmente rilevante per queste sottoclassi FrameworkElement :
La classe TextElement ha anche una proprietà Language e ha uno scopo e un comportamento simili per le sottoclassi TextElement , ad esempio Run.
Se non è impostato in modo specifico come attributo, il valore predefinito per Language viene determinato da altri fattori più grandi che influiscono sulle impostazioni di globalizzazione e localizzazione per l'app. Include le impostazioni di sistema dell'utente. Per altre informazioni, vedere Globalizzazione dell'app.
L'impostazione del linguaggio sugli elementi dell'interfaccia utente è solo una piccola parte di ciò che si potrebbe fare per preparare un'app per la localizzazione e la globalizzazione. Ad esempio, è in genere necessario assegnare un nome o caricare risorse come stringhe e immagini e includere queste risorse nel pacchetto dell'app. È anche necessario applicare valori di direttiva x:Uid a tutti gli elementi che devono usare i qualificatori di risorse per ottenere la risorsa specifica del linguaggio. Per altre informazioni, vedere Globalizzazione dell'app.
Quando si imposta Language in markup, è consigliabile usare un file di risorse RESW per specificare la stringa BCP 47, anziché codificare una stringa nel markup. Specificare un valore di direttiva x:Uid su tale elemento in cui si vuole specificare Language in modo che il sistema di risorse possa essere destinazione dell'elemento. Specificare quindi una risorsa stringa della stringa BCP 47 corrispondente al nome della cartella delle risorse che proviene dalla risorsa. Probabilmente si avrà già un file RESW nel progetto che fornisce le stringhe dell'interfaccia utente localizzate convenzionali. Per altre informazioni, vedere Avvio rapido: Conversione delle risorse dell'interfaccia utente.
FrameworkElement.Language e xml:lang
XAML è un linguaggio basato su XML e segue le regole XML di base. Ciò include il supporto di costrutti XML, ad esempio l'attributo lang dallo spazio dei nomi XML del linguaggio XML. È possibile specificare xml:lang in un elemento oggetto per una sottoclasse FrameworkElement e viene trattato come se fosse un valore Language, perché usa la stessa gestione BCP 47 del valore dell'attributo stringa. È anche possibile specificare xml:lang in un elemento oggetto che non è una sottoclasse FrameworkElement , anche se in genere non comporterà alcuna modifica del comportamento su tale elemento.
Il linguaggio usa intenzionalmente una struttura di ereditarietà delle proprietà in modo che un valore per Language impostato sull'elemento radice propaga tale valore a tutti gli oggetti figlio nell'albero visivo che sono anche un FrameworkElement. In questo modo viene parallelo il comportamento xml:lang in XML e IL DOM XML. È anche possibile usare Language in fase di esecuzione per leggere un valore xml:lang impostato nel markup, purché l'elemento letto da sia una sottoclasse FrameworkElement con una proprietà Language.
Tuttavia, non è possibile specificare sia gli attributi Language che xml:lang nello stesso elemento dell'oggetto, che genereranno un errore di analisi XAML.
Note sulla migrazione
Questa API accetta una stringa. Nell'API Microsoft Silverlight e Windows Presentation Foundation (WPF) equivalente, il tipo di questa proprietà è un oggetto helper che esegue il wrapping della stessa stringa. È possibile importare XAML da altri progetti senza notare questa differenza, perché il modo in cui XAML analizza la stringa è identica.