0

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

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

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

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

但是,如果有人给我一个更好的方法,我会很感激?

我确实在互联网上寻找更好的解决方案,但我找不到与我正在寻找的解决方案相匹配的解决方案。

4

1 回答 1

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 对象绑定到树和网格。所以你在这里不需要任何其他的关联工作。

于 2013-06-07T14:42:14.753 回答