none
MVVM mit Ribbon & Pages RRS feed

  • Frage

  •  

    Hallo zusammen

     

    Ich stehe vor einem kleinen Problem und zwar habe ich eine Applikation die als Menu ein RibbonMenu hat. Der Restliche Teil des UIs fühlt ein Frame, in dem verschiedene Pages angezeigt werden (Via Ribbon wird durch die Pages Navigiert).

    Im Ribbon würde ich gerne noch mehr Optionen einbauen, zb.   das Speicher der Änderungen, welche auf einer Page gemacht werden.

    Und hier ist mein Problem, ich weiss nicht wie ich ein Command erstellen kann, welches sich in dem ViewModel der Page befindet (so das das View sich daran binden kann) & vom Ribbon (Bessergesagt von desem ViewModel) ebenfalls zum binden Verwendet werden kann.

    Ich suche also nach einer Lösung ein Command zu Implementieren, welches ich an einen Button im Ribbon und an einen in einer Page binden kann, wobei die CanExecute & Execute Methoden im VM der Page sein müssen oder dahin weitergeleitet werden sollten.


    Gurss

    Musiumincapitiss

    Dienstag, 15. Februar 2011 15:51

Antworten

  • Erstelle ein Interface, welches Save und CanSave Methoden deklariert. Dieses Interface implementierst du in jedem ViewModel, wo gespeichert werden soll.
    Der Command überprüft das aktuelle ViewModel, wenn dieses das o.g. Interface implementierst, gibt CanExecute des Commands true zurück und die SaveMethode wird in Execute aufgerufen.

     

    Dienstag, 15. Februar 2011 19:08
    Beantworter
  • Vielen Dank für die Antwort, werde es mal ausprobieren.


    Gruss

    Musiumincapitiss


    Ps.

    Ich hab noch eine weitere Lösung gefunden, und zwar.. ein Property im MainWindow(Window mit dem Ribbon & Frame), welches das ViewModel der aktuell angezeigten

    Page beinhaltet... an dieses kann dann einfach gebunden werde ;)

    Dienstag, 15. Februar 2011 20:36

Alle Antworten

  • Erstelle ein Interface, welches Save und CanSave Methoden deklariert. Dieses Interface implementierst du in jedem ViewModel, wo gespeichert werden soll.
    Der Command überprüft das aktuelle ViewModel, wenn dieses das o.g. Interface implementierst, gibt CanExecute des Commands true zurück und die SaveMethode wird in Execute aufgerufen.

     

    Dienstag, 15. Februar 2011 19:08
    Beantworter
  • Vielen Dank für die Antwort, werde es mal ausprobieren.


    Gruss

    Musiumincapitiss


    Ps.

    Ich hab noch eine weitere Lösung gefunden, und zwar.. ein Property im MainWindow(Window mit dem Ribbon & Frame), welches das ViewModel der aktuell angezeigten

    Page beinhaltet... an dieses kann dann einfach gebunden werde ;)

    Dienstag, 15. Februar 2011 20:36
  • Das ist im Prinzip, was ich meinte, nur ohne das Interface (-;

     

    Mittwoch, 16. Februar 2011 08:04
    Beantworter