2009-08-27 15 views
1

MVVMデザインパターンを使用していて、ビューのDataContextがViewModelに設定されています。GridView内からViewModelのプロパティにバインドする方法

私の見解では、にバインドされたItemsSourceを持つListView/GridViewがあります。 GridViewColumnsの1つは、Buttonを提示するCellTemplateを持っています。 IsEnabledボタンのプロパティを、私のViewModelのSelectButtonsEnabledプロパティにバインドします。

DataTableには「SelectButtonsEnabled」という名前の列がないため、IsEnabled="{Binding Path=SelectButtonsEnabled}"を使用すると機能しません。バインドしようとしているプロパティは、DataTableの行に固有のものではなく、ViewModel全体でグローバルです。

私はRelativeSourceタグのようなものが必要だと思いますが、私のこれまでの試みはすべて失敗しています。

ありがとうございました。

答えて

1

まあ、これはそれを行うための最も簡潔な方法であるかどうかは知りませんが、これは動作します:

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}" 
関連する問題