代码之家  ›  专栏  ›  技术社区  ›  devuxer

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

  •  1
  • devuxer  · 技术社区  · 15 年前

    我使用的是MVVM设计模式, DataContext 我的视图设置为视图模型。

    在我看来,我有一个 ListView/GridView 具有 ItemsSource 绑定到 DataTable . 其中之一 GridViewColumns 有一个 CellTemplate 那表示 Button . 我想要 IsEnabled 要绑定到的按钮的属性 SelectButtonsEnabled 我的ViewModel的属性。

    使用 IsEnabled="{Binding Path=SelectButtonsEnabled}" 因为我的 可计算的 没有名为“SelectButtonsEnabled”的列。我尝试绑定到的属性对于整个ViewModel是全局的,而不是特定于 可计算的 .

    我想我需要某种 RelativeSource 标记,但到目前为止我的所有尝试都失败了。

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   devuxer    15 年前

    好吧,我不知道这是不是最简洁的方法,但这是可行的:

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