2009-12-04 5 views
2

Je crée un formulaire en utilisant WPF avec MVVM.WPF: Comment lier à une propriété de la liaison de contrôle d'un autre?

Là, j'ai ma vue avec son DataSource lié à mon objet ViewModel. Génial.

Dans mon xaml, j'ai un ItemsControl avec son ItemSource lié à ViewModel.MyCollectionOfFoo.

Pour chaque objet Foo de cette collection, je crée un contrôle avec des liaisons à cet objet foo, mais j'ai aussi besoin de lier une commande à chacun d'entre eux.

Cette commande est une propriété de mon objet ViewModel (source DataSource de la vue).

Depuis que je suis dans le ItemsControl, comment obtenir la référence à la ViewModel.DoSomethingCommand?

Il est comme la liaison à une propriété d'un autre témoin de liaison ...

Merci,

André Carlucci

Répondre

5
<... Command="{Binding Path=DataContext.CommandPropertyOfYourViewModel, 
         RelativeSource={RelativeSource FindAncestor, 
                 AncestorType={x:Type Window}}}"> 

Cela utilisera le DataContext de la fenêtre comme la source de liaison au lieu de le DataContext actuel.

Questions connexes