Como ligar a uma propriedade do ViewModel dentro de um GridView

votos
1

Eu estou usando o padrão de design MVVM, eo DataContextda minha vista está definida para um ViewModel.

Na minha opinião, eu tenho um ListView/GridViewcom ItemsSourceligado a um DataTable. Um dos GridViewColumnstem um CellTemplateque apresenta um Button. Eu quero a IsEnabledpropriedade do botão a ser vinculado à SelectButtonsEnabledpropriedade de meu ViewModel.

Usando IsEnabled={Binding Path=SelectButtonsEnabled}não funciona, porque o meu DataTablenão tem uma coluna chamada SelectButtonsEnabled. A propriedade Estou tentando ligar a é global para toda a ViewModel, não é específico para uma linha da DataTable.

Acho que preciso de algum tipo de RelativeSourcetag, mas todas as minhas tentativas até agora fracassaram.

Obrigado.

Publicado 27/08/2009 em 05:29
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Bem, eu não sei se esta é a forma mais sucinta para fazê-lo, mas isso funciona:

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}"
Respondeu 27/08/2009 em 07:35
fonte usuário

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