当使用 Prism 并且通过 ConfirmNavigationRequest 取消请求时,如何恢复树选择 (XamDataTree)?
How can I revert a tree selection (XamDataTree) when using Prism and the request is cancelled via ConfirmNavigationRequest?
我有一个 XamDataTree
用作用户可以导航到的视图列表。一些视图允许用户交互,当表单变脏时,我通过 IConfirmNavigationRequest
取消任何导航命令(即 XamDataTree
节点更改)。当导航请求被取消时,树看起来好像导航发生了变化。当导航事件被取消时,"undo" 树选择的最佳方式是什么。
不确定你的意思,但如果你只想取消选择树节点,只需将 SelectedItem 设置为 null。
编辑:一种方法是使用 navigationCallback 来确定导航的结果。
_regionManager.RequestNavigate(RegionNames.ContentRegion, navigationPath, (e) =>
{
var test = e.Result;
});
如果为假,则重置选定的树节点。您可能需要检查上次导航的路径,这样您实际上就不会再次导航。
我有一个 XamDataTree
用作用户可以导航到的视图列表。一些视图允许用户交互,当表单变脏时,我通过 IConfirmNavigationRequest
取消任何导航命令(即 XamDataTree
节点更改)。当导航请求被取消时,树看起来好像导航发生了变化。当导航事件被取消时,"undo" 树选择的最佳方式是什么。
不确定你的意思,但如果你只想取消选择树节点,只需将 SelectedItem 设置为 null。
编辑:一种方法是使用 navigationCallback 来确定导航的结果。
_regionManager.RequestNavigate(RegionNames.ContentRegion, navigationPath, (e) =>
{
var test = e.Result;
});
如果为假,则重置选定的树节点。您可能需要检查上次导航的路径,这样您实际上就不会再次导航。