ich glaube bei Deinem Lösungsansatz liegt ein Denkfehler vor. Der ObjectDataProvider versucht den Konstruktor des CultureInfo Type aufzurufen. Dieser hat folgende mögliche Konstruktoren (nämlich um genau eine spezifische CultureInfo zu erzeugen):
public CultureInfo(string s) { } public CultureInfo(int i) { } public CultureInfo(string s, bool b) { } public CultureInfo(int i, bool b) { }
*quatsch* (@edit maria)Dann versuchst Du im ObjectDataProvider eine static method aufzurufen, was meines Wissens nach nicht funktioniert.
Was möchtest du genau machen? Eine Listbox befüllen o. ä? Ich würde mir die gewünschte Funktionalität eventuell über eine eigene Klasse bereitstellen, die ich dann mit dem ObjectDataProvider verwenden kann.
Der XAML Ausschnitt den ich gepostet habe funktioniert und gibt eine Liste aller CultureInfos zurück. Ich rufe die Static-Method GetCultures auf und übergebe mittels MethodParameters einen Parameter vom Typ CultureTypes. In C# kann ich diesen wie beschrieben zusammensetzen, in XAML schaffe ich das bis jetzt noch nicht. Die Möglichkeit das ganze über eine eigene Methode zu realisieren wollte ich mir eigentlich sparen.
Gut, die Fehler im Output kann man ja ignorieren (bezügl. Konstruktor :-)
Kommt es für Dich in Frage Code Behind zu verwenden? Dann hilft folgendes im Konstruktor des Windows / UserControls wo auch immer der ObjectDataProvider zu finden ist:
ObjectDataProvider odp = this.FindResource("Countrys") as ObjectDataProvider; if (odp != null) { using (odp.DeferRefresh()) { odp.MethodParameters[0] = (CultureTypes.AllCultures & ~CultureTypes.NeutralCultures); } }
Ich rufe die Static-Method GetCultures auf und übergebe mittels MethodParameters einen Parameter vom Typ CultureTypes. In C# kann ich diesen wie beschrieben zusammensetzen, in XAML schaffe ich das bis jetzt noch nicht. Die Möglichkeit das ganze über eine eigene Methode zu realisieren wollte ich mir eigentlich sparen.