Wir verwenden Caliburn.Micro auf einem neuen Silverlight-Projekt und alles funktioniert gut. Die eingebauten Konventionen binden buttons click-Ereignisse an das viewModel, aber ich bin mir nicht sicher, was der beste Weg ist, das selectionChanged-Ereignis auf Datagrids und Comboboxen zu handhaben.Binding SelectionChanged zu ViewModel mit Caliburn.Micro
Momentan bin ich an das ausgewählte Element gebunden und habe eine benutzerdefinierte Logik aufgerufen, aber ich habe das Gefühl, dass es sich um einen Code-Geruch handelt und dass ich die Einstellung der Eigenschaft und des selectedChange-Ereignisses trennen sollte. Aber wenn ich diese getrennt habe, wie binde ich das selection changed Ereignis an mein viewModel, durch Befehle? oder ein EventTrigger? Oder ist der Code unter akzeptabel? Es ist eine kleine Veränderung, aber ich mache diese Logik überall.
private Foo _selectedFoo;
public Foo SelectedFoo
{
get
{
return _Foo;
}
set
{
if (_Foo != null && _Foo.Equals(value)) return;
_Foo = value;
NotifyOfPropertyChange("SelectedFoo");
NotifyOfPropertyChange("CanRemove");
LoadRelatedBars();
}
}
Willkommen bei SO! Erläutern Sie die Gründe für den OP-Code. Nicht nur das "Wie", sondern das "Warum". – garfbradaz