- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我开始使用 Metro 风格的应用程序(我知道我们不应该称它为 Metro,但我永远记不起它应该叫什么...),并且我正在实现一个 用于 MVVM 的 DelegateCommand
类。在 WPF 中,ICommand.CanExecuteChanged
事件通常是这样实现的:
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
但是 CommandManager
类在 WinRT 中不存在......是否有其他东西代替?还是我们应该自己明确触发此事件?
最佳答案
在 WinRT 中,您必须手动更新/引发 CanExecuteChanged。没有 CommandManager 可以全局执行此操作。您可以将此视为颈部疼痛,或者由于不会经常调用 CanExecute 而显着提高性能。这确实意味着您必须考虑以前不必考虑的级联属性更改。但事实就是如此。手册。
public void RaiseCanExecuteChanged()
{
if (CanExecuteChanged != null)
CanExecuteChanged(this, EventArgs.Empty);
}
关于c# - 什么替代了 WinRT 中的 CommandManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030697/
我一直在使用 RelayCommand在这里和那里有点,这让我想知道并想知道...... CommandManager.InvalidateRequerySuggested() 到底是什么时候?被 W
我们从头开始创建了一个新的、相当复杂的 WPF 应用程序,但随着使用 CommandManager 注册的命令数量增加,我们遇到了性能问题。我们在我们的 MVVM 实现中使用了简单的轻量级命令,但是我
我有我的命令 CanExecute 方法仅在 wpf 应用程序启动时调用一次。我希望能够定期重新评估该方法。我发现了一些关于调用 的引用资料CommandManager.InvalidateReque
将“RelayCommand”类(使用CommandManager类)添加到我的Silverlight应用程序后,出现错误: The name 'CommandManager' does not ex
MSDN 仅声明 Occurs when the CommandManager detects conditions that might change the ability of a comman
我目前正在寻求将撤消/重做(基于 this 文章)与使用 ICommand 的命令模式相结合。阅读有关 CanExecute 和 CanExecuteChanged 的想法后,我发现了 Comma
我正在开发 WPF 应用程序,我想在所有这些应用程序中重用相同的类,以便我可以将它们添加为引用。 在我的例子中,我有一个命令类: public class RelayCommand : IComman
我有一个带有“MainView”和一些嵌套 View 的 Catel 应用程序。 嵌套 View 具有 ListView一些项目有 ContextMenu与一些 MenuItems . 在 MainV
短版 调用CommandManager.InvalidateRequerySuggested()生效的时间比我想要的要长得多(在 UI 控件被禁用之前有 1-2 秒的延迟)。 加长版 我有一个系统,我
我有一个使用 CommandBinding 的控件 (WPF),它是这样注册的: CommandBinding binding = new CommandBinding(ApplicationComm
我正在尝试测试一个使用 CommandManager.RequerySuggested 的类,并注意到调用 CommandManager.InvalidateRequerySuggested 不会触发
我开始使用 Metro 风格的应用程序(我知道我们不应该称它为 Metro,但我永远记不起它应该叫什么...),并且我正在实现一个 用于 MVVM 的 DelegateCommand 类。在 WPF
是否可以阻止 WPF CommandManager 执行它附加的 CanExecute 委托(delegate)? 我有一个未处理的异常处理例程,它为用户显示一个错误窗口。我现在遇到的情况是,异常作为
我从 Josh Smith 的 MVVM tutorial 得到以下代码. 任何人都可以快速解释这段代码的实际作用吗? public event EventHandler CanExecuteChan
我正在尝试为我的 MVVM 应用程序实现高度响应的 UI,因此我选择让所有命令处理程序在 BackgroundWorker 中自动执行,这样它们就不会阻塞 UI。 但与此同时,我不希望用户能够在它仍在
我正在制作我自己的一些自定义 ICommand 实现,我看到很多实现都是这样的: public event EventHandler CanExecuteChanged { add { Com
我使用 CommandManager.RegisterClassInputBinding 将绑定(bind)添加到整个类型。现在我想删除它。 这是我测试过的。 private void Command
尝试使用下面的 RelayCommand 类时,我收到了错误消息:“名称“CommandManager”在当前上下文中不存在”。根据这篇文章Class library does not recogni
我给自己写了一个 SingleExecutionCommand(我还不确定那个名字。请随意推荐另一个,但这不是我的问题),它不允许在第一次执行之前再次按下按钮完成的。好吧,至少那是计划。 我想使用 C
我们的 UI 目前有很多控件绑定(bind)到具有一些复杂 CanExecutes 的命令。我们面临的问题是,每当 CommandManager 确定 UI 需要重新评估时,所有命令都会运行它们的 C
我是一名优秀的程序员,十分优秀!