c# - 如何将应用程序命令绑定(bind)到 View 模型(WPF)?

标签 c# wpf mvvm relaycommand

我已经阅读了 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/

相关文章:

c# - MVVM Light 在哪里处理 api

c# - 有没有办法防止ThreadPool产生垃圾?

c# - 更改 dataGridView CellFormatting 中单元格的文本

c# - 是否可以一个接一个地删除多个注册表项?

.net - 选择哪个ui框架

c# - 在 WPF MVVM 应用程序的 ComboBox 中设置默认选定项

c# - 如何使 MvvmLight 命令异步?

c# - 用户 IsInRole 仅在从网站登录和注销后才有效

c# - 绑定(bind)到 DevExpress StockSeries2D 图表

c# - 当我尝试移动 Kinect 电机时应用程序卡住