我正在使用MVVM模式处理WPF应用程序 我有一个表的网格视图和另一个表的树视图。
我展示了如何在这里构建树: WPF: Tree view by parsing string
目前我的树有名称和子项属性列表
现在当我从网格中选择一个项目时,我希望能够标记树节点 复选框已选中。反之亦然。我不知道是否需要在TreeNode模型中创建一个id,以便在树和网格之间创建某种关联。
但如果有人给我一个更好的approch,我会赞成它吗?
我确实在互联网上寻找更好的解决方案,但我找不到符合我要求的解决方案。
答案 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对象绑定到树和网格。所以你在这里不需要任何其他协会工作。