SelectionChanged-event binding in Silverlight+MVVM-Light

Den handler des "SelectionChanged" - event der ComboBox-Steuerelement verfügt über die folgende Signatur:

void SelectionChangedMethod(object sender, SelectionChangedEventArgs e)

Wie zu binden, diese Eigenschaft in Silverlight 4 und MVVM-Licht, um die entsprechende Methode der ViewModel-Objekt?

Soweit ich weiß, brauche ich etwas wie das hier tun:

public void Changed(Object obj, SelectionChangedEventArgs e)
{
    //.... implement logic here
}

RelayCommand<Object, SelectionChangedEventArgs> _command;
public ICommand ObjectSelectionChanged
{
    get
    {
        if (_command == null)
        {
            _command = new RelayCommand<Object, SelectionChangedEventArgs>(Changed);
        }
        return _command;
    }
}

Das problem ist, dass die RelayCommand-Klasse im MVVM-Light-framework nicht unterstützt 2 generische Parameter...

Gibt es eine Lösung oder einen workaround für diesen Fall? Wie binden control-Ereignis an die Methode mit 2 Parametern?

Und ein weiteres problem: ComboBox nicht "Command" - Eigenschaft binden dieser Befehl..? Wie kann ich get-Ereignis aus dem ViewModel?

Dank.

P. S. ich habe versucht, verwenden Sie die SelectedItem-Eigenschaft des combobox -, aber wie es scheint, ComboBox, in der Umsetzung ist nicht richtig, und es funktioniert nicht...

InformationsquelleAutor Budda | 2010-05-29

Schreibe einen Kommentar