Jak vytvořit vazbu na majetku viewmodel zevnitř GridView

hlasů
1

Já používám návrhový vzor MVVM a DataContextz mého pohledu je nastavena na viewmodel.

Podle mého názoru, mám ListView/GridViews ItemsSourcevázán na DataTable. Jeden z GridViewColumnsCellTemplatekterá prezentuje Button. Chci, aby IsEnabledvlastnost tlačítka, které mají být vázány na SelectButtonsEnabledvlastnictví mého viewmodel.

Používání IsEnabled={Binding Path=SelectButtonsEnabled}nefunguje, protože my DataTablenemá sloupec s názvem „SelectButtonsEnabled“. Vlastnost Snažím se vázat, je globální pro celou viewmodel, není specifická pro jednu řádku DataTable.

Myslím, že potřebuju nějakou RelativeSourceznačku, ale všechny mé pokusy dosud selhaly.

Dík.

Položena 27/08/2009 v 05:29
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

No, já nevím, jestli to je nejvíce stručné způsob, jak to udělat, ale to funguje:

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}"
Odpovězeno 27/08/2009 v 07:35
zdroj uživatelem

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