WPF:如何在网格和树视图复选框之间创建关系

时间:2013-06-06 19:40:54

标签: wpf gridview checkbox tree

我正在使用MVVM模式处理WPF应用程序 我有一个表的网格视图和另一个表的树视图。

我展示了如何在这里构建树: WPF: Tree view by parsing string

目前我的树有名称和子项属性列表

现在当我从网格中选择一个项目时,我希望能够标记树节点 复选框已选中。反之亦然。我不知道是否需要在TreeNode模型中创建一个id,以便在树和网格之间创建某种关联。

但如果有人给我一个更好的approch,我会赞成它吗?

我确实在互联网上寻找更好的解决方案,但我找不到符合我要求的解决方案。

1 个答案:

答案 0 :(得分:0)

我假设你在这里提到的网格是一个DataGrid。因此,您可以将DataGrid的SelectedItem绑定到视图模型。

<DataGrid SelectedItem="{Binding SelectedViewModelObject}"/>

然后

public object SelectedViewModelObject
{
  get;
  set
  {
    //Get your corresponding TreeModel here and set the IsChecked property.
  }
}

为了找到相应的TreeModel,您可能需要某种ID来进行关联使用,就像您所说的那样。

但我想知道您是否可以将TreeModel设置为网格的视图模型?这样,网格的SelectedItem就是同一个对象,它也在树中。这意味着同一个TreeModel对象绑定到树和网格。所以你在这里不需要任何其他协会工作。