WPF/XAML - binding von Steuerbefehlen an übergeordnete Fenster viewmodel?

Ich habe eine Anwendung, und ich habe eine Baugruppe.

In der Anwendung, ich habe ein Fenster, und in der Versammlung habe ich ein user control.

Es ist eine Instanz des Benutzersteuerelements in das Fenster.

Sowohl der Benutzer die Kontrolle und die Fenster sind gesichert durch separate viewmodels.

In der Benutzer-Steuerelement ist eine Schaltfläche. Sollte der button aktiviert/deaktiviert werden basierend auf dem Zustand des Benutzersteuerelements viewmodel. Wenn auf die Schaltfläche geklickt wird, wird die Verarbeitung durchgeführt werden muss, basierend auf den Informationen in der Benutzer-Steuerelement viewmodel, aber es getan werden muss, um durch das Fenster viewmodel. (Es sind Aspekte von dem, was getan werden muss und werden soll, außerhalb des Bereichs der Benutzer-Kontrolle.)

Und hier ist die Wendung - das user control nicht verwendet werden, die ausschließlich in diesem Fenster, es könnte verwendet werden, in einem anderen oder in einem Steuerelement, das verwendet wird, in einem Dritten. Der Benutzer control kann nicht erlaubt werden, zu wissen, welche Art von Fenster oder Steuerelement enthält, oder ist der Umgang mit dem Prozess, wenn die Schaltfläche geklickt wird.

Also, was ist zu tun?

Definieren Sie einen Befehl in der Montage, und binden Sie die Benutzer-Steuerelement-Schaltfläche, um Sie, vorbei an der Benutzer-Steuerelement viewmodel als der Befehl parameter? Wie kann ich bind Befehl, um das Fenster viewmodel?

Oder sollte ich definieren, wird der Befehl in die user control viewmodel, dann heben ein Ereignis zu erzählen, das übergeordnete Fenster, das die entsprechenden Maßnahmen ergriffen werden?

Es ist mir nicht klar, was sauberer ist.

InformationsquelleAutor Jeff Dege | 2012-07-31
Schreibe einen Kommentar