Wpf 如何从GridView中绑定到ViewModel的属性

Wpf 如何从GridView中绑定到ViewModel的属性,wpf,data-binding,xaml,mvvm,Wpf,Data Binding,Xaml,Mvvm,我使用的是MVVM设计模式,并且视图的DataContext被设置为ViewModel 在我看来,我有一个ListView/GridView,其中itemsource绑定到DataTable。其中一个GridViewColumns有一个CellTemplate,它显示一个按钮。我希望按钮的IsEnabled属性绑定到我的ViewModel的SelectButtonsEnabled属性 使用IsEnabled=“{Binding Path=SelectButtonsEnabled}”无效,因为我的

我使用的是MVVM设计模式,并且视图的
DataContext
被设置为ViewModel

在我看来,我有一个
ListView/GridView
,其中
itemsource
绑定到
DataTable
。其中一个
GridViewColumns
有一个
CellTemplate
,它显示一个
按钮。我希望按钮的
IsEnabled
属性绑定到我的ViewModel的
SelectButtonsEnabled
属性

使用
IsEnabled=“{Binding Path=SelectButtonsEnabled}”
无效,因为我的
DataTable
没有名为“SelectButtonsEnabled”的列。我试图绑定到的属性是整个ViewModel的全局属性,而不是特定于
数据表的某一行

我想我需要某种
相对资源
标记,但迄今为止我所有的尝试都失败了


谢谢。

好吧,我不知道这是否是最简洁的方法,但这是有效的:

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}"

嗯,我不知道这是否是最简洁的方法,但这是有效的:

IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}"