Laden...

caliburn.micro binding conventions für das toolkit ListPicker Control auf WP7

Erstellt von Michael Schuler vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.067 Views
Thema geschlossen
M
Michael Schuler Themenstarter:in
329 Beiträge seit 2004
vor 12 Jahren
caliburn.micro binding conventions für das toolkit ListPicker Control auf WP7

Hallo zusammen

Für ein neues Projekt habe ich caliburn.micro gewählt, und stecke nun beim DataBinding mit dem ListPicker fest. Wenn ich statt des ListPickers eine normale DropDown nehme, funktioniert das Binding wie es soll. Also es werden alle Elemente angezeigt und bei einer Auswahl wird das SelectedItem Property korrekt gesetzt.

Im Quellcode des Frameworks habe ich folgenden Eintrag gefunden:

AddElementConvention<Selector>(Selector.ItemsSourceProperty, "SelectedItem", "SelectionChanged")
    .ApplyBinding = (viewModelType, path, property, element, convention) => {
        if (!SetBinding(viewModelType, path, property, element, convention))
            return false;

        ConfigureSelectedItem(element, Selector.SelectedItemProperty,viewModelType, path);
        ApplyItemTemplate((ItemsControl)element, property);
        return true;
    };

Da der ListPicker aber nicht von Selector erbt, funktioniert dies nicht. Daher habe ich meinem Bootstrapper eine CustomConvention hinzugefügt:

static void AddCustomConventions() {
    AddElementConvention<ListPicker>(ListPicker.ItemsSourceProperty, "SelectedItem", "SelectionChanged")
        .ApplyBinding = (viewModelType, path, property, element, convention) => {
            ConventionManager.ConfigureSelectedItem(element,
                ListPicker.SelectedItemProperty,viewModelType, path);
            return true;
        };
}

Leider funktioniert das so nicht, es werden in der Liste keine Einträge angezeigt.

btw: ich habe die gleiche Frage noch auf StackOverflow gestellt.

Bin froh um jeden Hinweis!

LG Michael

Hinweis von gfoidl vor 12 Jahren

Wegen [Hinweis] Wie poste ich richtig? Punkt 2.2 ==> geschlossen

Thema geschlossen