9

Korzystanie MVVM-Light Toolkit w Silverlight 5, staram się znaleźć sposób, aby przekazać Command ParametersIEventArgs zarówno do ViewModel w imprezie do Dowództwa zachowanie.MVVM-Light => Przełęcz parametru Command and EventArgs dowodzić

Znalazłem post sugerujący przekazywanie EventArgs jako parametrów polecenia, ale w moim przypadku chcę użyć zarówno EventArgs i Command Parameter zarówno w ViewModel.

Ktoś może pomóc?

+0

jest to możliwe przy użyciu zestawu narzędzi MVVM-Light? – Thr3e

+0

Chciałbym utworzyć lekki obiekt, który zawiera potrzebne informacje z argumentów zdarzeń i obiektu, który normalnie wysyłałem jako parametr polecenia, i użyję tego nowego lekkiego obiektu jako mojego parametru polecenia. –

+0

@StewartSweet Przepraszam, ale jak utworzyć taki obiekt w widoku? czy możesz łaskawie pokazać przykład? – Thr3e

Odpowiedz

11

rozwiązać problem .... w przypadku jeśli ktoś zastanawia ...

Concept: Musimy tylko przekazać EventArgs poprzez MVVM-Light Event do dowództwa. W przypadku polecenia, istnieje właściwość Źródło. możemy rzucić tę właściwość "Source" do obiektu, który wygenerował to polecenie.

Przykład:

deklarujemy polecenie z EventArgs w ViewModel Konstruktora

FilterQuotationsCommand = new RelayCommand<GridViewFilteredEventArgs>(FilterQuotationsCommandExecute); 

I mamy dostęp do nadawcy poprzez „Źródło” po odlaniu go do kontroli wysyłającego.

private void FilterQuotationsCommandExecute(GridViewFilteredEventArgs e) 
    { 
     var grid = (RadGridView) e.Source; // we casted the Source to Grid 
     var item = grid.SelectedItem;  // we can access grid's selected items 
    }