Wie kann ich Global einstellen, die Kultur in einer WPF-Anwendung?
Ich würde gerne die Kultur einer WPF-Anwendung auf einem bestimmten, basierend auf Benutzer-Einstellungen.
Ich kann das für den aktuellen thread über Thread.CurrentThread.Current(UI)Culture
, aber gibt es eine Möglichkeit, dies zu tun, die Global für die Anwendung (also, es betrifft alle threads standardmäßig)?
InformationsquelleAutor Botz3000 | 2009-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
gibt es keine Möglichkeit, es für alle threads in der Anwendung, aber wenn Sie sind erstellen des threads in Ihre Anwendung können Sie die Kultur für alle durch sich selbst, wie Sie oben erwähnt
Um die Kultur, um die Hauptanwendung verwenden Sie den folgenden Codeausschnitt:
InformationsquelleAutor Wael Dalloul
Versuchen Sie,
... in Ihrem csproj-Datei.
InformationsquelleAutor Scott Whitlock
ok, so das ist, was ich verwenden, um sicherzustellen, dass alle meine app ist in einer en-US.
um einen einzigen thread in einer Kultur, die man machen kann
System.Windows.Documents.TextElement
um catch <Ausführen> - tags (z.B. innerhalbTextBlock
Elemente), die nicht Erben ausFrameworkElement
.Grhm was meinst du?
Ich habe einige Abschnitte in meinem app, die wie folgt Aussehen:
<TextBlock>Label: <Run Text="{Binding MyValue}" /></TextBlock>
um die Zahl formatiert in das richtige Gebietsschema ich hatte, umFrameworkElement.LanguageProperty.OverrideMetadata(typeof(System.Windows.Documents.TextElement), new FrameworkPropertyMetadata( XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
sowie die Linien, die wir bereits erwähnt. Führen Sie Erben nicht von FrameworkElement ( siehe msdn.microsoft.com/en-us/library/... )Leider
CultureInfo.DefaultThreadCurrentCulture
ist nicht verfügbar vor .net 4.5.InformationsquelleAutor Gilad
Oder Sie könnten versuchen, diese:
Sie müssen es tun, beim starten der Anwendung, bis Sie vor dem laden der visual tree.
Sie müssen auch zu tun
System.Windows.Documents.TextElement
um zu fangen<Run>
- tags (z.B. innerhalbTextBlock
Elemente), die nicht Erben ausFrameworkElement
.InformationsquelleAutor Darren
Oder versuchen Sie eine geeignete Angefügte Eigenschaft wie diese
InformationsquelleAutor Matze