2013-08-26 2 views
0

J'ai un bouton qui, lorsqu'on clique dessus, devrait ouvrir une nouvelle fenêtre comme une fenêtre modale. Je pensais de passer this de xaml et dans le viewmodel, aurait eu la parentwindow comme Window.GetWindow(parameter). Y a-t-il un équivalent à this dans xaml?Passer de 'this' à viewmodel

Répondre

1

Sauf si vous êtes dans un contexte déconnecté, vous pouvez passer la fenêtre en utilisant une liaison RelativeSource avec AncestorType=Window.

+0

merci, a travaillé comme un charme. –

+0

De rien, heureux que cela a aidé :) –

+2

Bien que cela fonctionne très bien, j'espère que les futurs lecteurs ne prennent pas cette approche pour passer des éléments de l'interface utilisateur aux machines virtuelles dans MVVM et ensuite utiliser l'objet entrant comme 'System.Windows.Window' dans la VM. Il existe de nombreuses alternatives à l'utilisation d'un modèle "messenger" ou même de l'implémentation d'une interface et de l'utilisation de l'objet entrant comme type d'interface pour maintenir la machine virtuelle et la vue déconnectées afin de permettre les tests unitaires – Viv

Questions connexes