我已经阅读了 Josh Smiths 关于使用 RelayCommand 将命令绑定(bind)到 View 模型的文章。但是,我需要将 ApplicationCommands.Save 绑定(bind)到 View 模型,以便当用户单击保存菜单项时,它会在窗口中处理。怎么可能?
最佳答案
我知道我们使用服务的最佳解决方案。例如,像这样的 ICommandBindingsProvider:
public interface ICommandBindingsProvider
{
CommandBindingCollection CommandBindings { get; }
}
这会被注入(inject)到您的 ViewModel 中并像这样使用:
public MyViewModel(ICommandBindingsProvider commandBindings)
{
commandBindings.Add(new CommandBinding(....));
}
服务的注入(inject)方式取决于您使用的 MVVM 框架。大多数(但不是全部)支持某种服务注入(inject)功能。如果您需要更具体的代码示例,请查看 Onyx它进行服务注入(inject)并且有一个服务可以做到这一点。
关于c# - 如何将应用程序命令绑定(bind)到 View 模型(WPF)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048501/