Hallo Gemeinde,
nach langem suchen und probieren möchte ich mich nun an euch wenden.
Ich habe folgendes Problem und zwar wird in einer MessageBox die falsche Anzeigesprache verwendet.
In meiner WPF-Desktop Application überschreibe ich die Startup-Methode folgendermaßen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| protected override void OnStartup(StartupEventArgs e) { CultureInfo culture = CultureInfo.CreateSpecificCulture("de-DE");
Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture;
CultureInfo.DefaultThreadCurrentCulture = culture; CultureInfo.DefaultThreadCurrentUICulture = culture;
FrameworkElement.LanguageProperty.OverrideMetadata( typeof(FrameworkElement), new FrameworkPropertyMetadata( XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
base.OnStartup(e); } |
Leider passiert es das auf unterschiedlichen Systemen die MessageBox mal mit Ja/Nein Buttons angezeigt wird und mal mit Yes/No.
Verständlicherweise möchte ich das durchgehend die Deutsche Sprache verwendet wird.
* Auf den Testsystemen ist jeweils die gleiche Region/Anzeigesprache/Tasturlayout gesetzt.
* Die Registrierung weißt unter allen Testsystemen den gleichen Wert für International/Locale auf.
* Das .Net Framework Language Pack in deutsch und in der richtigen Version ist auf den Testsystemen installiert.
Ich kann mir nicht erklären warum die Sprache bzw. die Buttons der MessageBox jeweils eine andere Sprache aufweisen.
Gibt es irgendwo noch versteckt eine Property die man setzen kann/muss um durchgehend und eventuell auch unabhängig von der verwendeten "Windows-Sprache" eine gewisse UI-Sprache durchzusetzen?
Danke vorab für eure Vorschläge!