Comment se lier à une propriété du ViewModel à partir d'un GridView

voix
1

J'utilise le design pattern MVVM, et DataContextde mon point de vue est réglé sur un ViewModel.

À mon avis, j'ai un ListView/GridViewavec ItemsSourcelié à un DataTable. L' un des GridViewColumnsa un CellTemplatequi présente un Button. Je veux que la IsEnabledpropriété du bouton à être lié à la SelectButtonsEnabledpropriété de mon ViewModel.

L' utilisation IsEnabled={Binding Path=SelectButtonsEnabled}ne fonctionne pas parce que mon DataTablen'a pas une colonne nommée « SelectButtonsEnabled ». La propriété que je suis en train de se lier à est globale pour l'ensemble ViewModel, pas spécifique à une ligne de la DataTable.

Je pense que je besoin d' une sorte de RelativeSourcebalise, mais toutes mes tentatives jusqu'ici ont échoué.

Merci.

Créé 27/08/2009 à 05:29
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Eh bien, je ne sais pas si cela est la manière la plus succincte de le faire, mais cela fonctionne:

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}"
Créé 27/08/2009 à 07:35
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more