Geben Sie einen Befehl an View in MVVM

Stellen wir uns vor, ich hätte eine gewisse Benutzerkontrolle. Das Benutzersteuerelement verfügt über einige untergeordnete Fenster. Und der Benutzersteuerungsbenutzer möchte untergeordnete Fenster eines bestimmten Typs schließen. Im Benutzersteuercode steckt eine Methode dahinter:

public void CloseChildWindows(ChildWindowType type)
{
   ...
}

Ich kann diese Methode jedoch nicht aufrufen, da ich keinen direkten Zugriff auf die Ansicht habe.

Eine andere Lösung, über die ich nachdenke, besteht darin, das Benutzersteuerelement ViewModel als eine seiner Eigenschaften freizugeben (damit ich es binden und ViewModel direkt Befehle geben kann). Ich möchte jedoch nicht, dass Benutzer mit Benutzerkontrolle etwas über die Benutzerkontrolle von ViewModel erfahren.

Was ist der richtige Weg, um dieses Problem zu lösen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage