2016-06-23 23 views
0

Ich muss eine Variation des gleichen Projekts für viele verschiedene Sprachen implementieren und ich verwende das CalendarDatePicker Objekt auf einigen Seiten. Ich muss seine Sprache abhängig von einer Eigenschaft festlegen, die von einer ini Datei gegeben wird, die zu Beginn des Starts heruntergeladen wird.Bindung CalendarDatePicker.Language Eigenschaft Rückkehr Exception.HResult 0x800F0904

Ich versuche, seinen Wert wie folgt zu binden:

<CalendarDatePicker x:Name="datePicker"        
        Language="{Binding LanguageINI}"/> 

Aber ich bekomme diese Ausnahme: 0x800F0904.

Ich habe auch versucht, es mit Code hinter aber, da die CalendarDatePicker ist es vollständig angepasst, muss ich auch die Eigenschaft in der CalendarView Stil so, ich bin nicht gelungen und ich weiß es nicht wie man es erreicht.

werden Jede Hilfe sehr geschätzt :)

Thx viel!

+0

Konnten Sie den Datenkontext einschließlich des "LanguageINI" -Wertes veröffentlichen? –

Antwort

0

Ich kann Ihr Problem in meiner Seite reproduzieren. Die Verwendung von Binding mit der Eigenschaft Language führt zu einem folgenden Fehler.

Ausnahme von HRESULT: 0x800F0904

Dieser Fehler wird von XAML Designer gegeben. Und wenn Sie mit Ihrem Code debuggen, werden Sie eine besser lesbare Ausnahme erhalten wie folgt:
enter image description here

Eine Ausnahme vom Typ ‚Windows.UI.Xaml.Markup.XamlParseException‘ aufgetreten in UWP.exe war aber nicht in Benutzercode behandelt

WinRT-Information: Zuordnung der Eigenschaft 'Windows.UI.Xaml.FrameworkElement.Language' fehlgeschlagen. [Zeile: 45 Position: 68]

Sie können versuchen, mit {X:Bind} dieses Problem zu vermeiden.

Aber auch Sie können Language Eigenschaft einstellen, es wird auch nicht die Sprache CalendarDatePicker verwendet, um zu zeigen. CalendarDatePicker hat standardmäßig die Globalisierung und Lokalisierung unterstützt. Es verwendet automatisch die Standardsprache des Systems, um seine Benutzeroberfläche anzuzeigen.

Wenn Sie die Sprache Ihrer App abhängig von einer durch eine ini-Datei angegebenen Eigenschaft festlegen möchten.

Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "zh-CN"; 

Die PrimaryLanguageOverride ist eine einfache Überschreibung für Anwendungen einstellen, dass Benutzer ihre eigenen, unabhängigen Sprache Wahl geben: Sie können ApplicationLanguages.PrimaryLanguageOverride property wie verwenden. Dadurch wird die von Ihrer App verwendete Sprache geändert und CalendarDatePicker wird automatisch diese Sprache zum Anzeigen verwenden.