WPF MVVM导航取消已处理?
在我的WPF项目中,MVVM模式。我可以根据主窗口中的情况显示不同的视图。切换视图时,我找不到如何发出用户确认请求,如果用户不批准,视图也不会更改。你能告诉我你对这方面的建议吗?如果有的话,你可以提供一些示例文章或项目吗?非常感谢你WPF MVVM导航取消已处理?,wpf,mvvm,Wpf,Mvvm,在我的WPF项目中,MVVM模式。我可以根据主窗口中的情况显示不同的视图。切换视图时,我找不到如何发出用户确认请求,如果用户不批准,视图也不会更改。你能告诉我你对这方面的建议吗?如果有的话,你可以提供一些示例文章或项目吗?非常感谢你 您可以在MessageBox中询问用户,若用户不接受更改视图,则什么也不做 public class UpdateViewCommand : ICommand { private MainViewModel viewModel; public U
您可以在MessageBox中询问用户,若用户不接受更改视图,则什么也不做
public class UpdateViewCommand : ICommand
{
private MainViewModel viewModel;
public UpdateViewCommand(MainViewModel viewModel)
{
this.viewModel = viewModel;
}
public event EventHandler CanExecuteChanged;
public bool CanExecute(object parameter)
{
return true;
}
public void Execute(object parameter)
{
MessageBoxResult res = MessageBox.Show("Do you confirm changing view?", "", MessageBoxButton.YesNo);
if (res != MessageBoxResult.Yes)
return;
if (parameter.ToString() == "Home")
{
viewModel.SelectedViewModel = new HomeViewModel();
}
else if (parameter.ToString() == "Portfolio")
{
viewModel.SelectedViewModel = new PortfolioViewModel();
}
}
}
为“更改页面”按钮创建事件处理程序。从此事件处理程序显示自定义对话框。自定义对话框是一个窗口,其中包含一个绑定到实际导航命令的“确定”按钮和一个“无操作取消”按钮。许多按钮可更改页面。还有菜单。那里还有很多按钮。你是什么意思?我不明白你的意思。您可以将同一事件处理程序附加到多个按钮。我不确定我是否了解发生的情况。他们点击一个按钮来导航。那么你想让他们确认他们想导航吗?真的。那种对话已经过时了。他们太过分了。最好提供一种类似撤销的行为,在离开前保存当前页面的状态,以允许用户返回他离开的地方。