我一直在寻找这个问题的解决方案,但我还是找不到合适的解决方案。请帮忙。基本上,我有一个树视图绑定到一个对象列表。当用户点击treeviewitem时,我会根据treeviewitem加载数据网格的数据。用户可以更改网格中的数据。如果数据网格发生更改并且用户单击另一个treeviewitem,则会要求用户保存。用户可以选择是,否或取消。当用户选择取消时,应用程序必须使用户保持当前的treeviewitem,直到他/她保存数据网格。问题是,一旦用户选择了另一个treeviewitem,我无法做到这一点,以便再次选择先前的选择。没有“SelectedItemChanging”事件。 WPF树视图只有SelectedItemChanged事件。我正在尝试多种解决方案,但我总是以无限的方式结束。请提供任何提示或建议。
谢谢, 胡志明
答案 0 :(得分:1)
您可以使用一个私有字段来存储最后选择的项目,只需处理SelectedItemChanged事件并始终根据需要更新字段。此外,正如Dave Clemmer所建议的那样,您可以绑定IsSelected
属性,这有助于以编程方式选择项目。