82得票5回答
当按下回车键时触发WPF文本框的命令

在WPF应用程序中,将Button与VIEWMODEL类中的Command绑定非常容易。我想实现类似的绑定方法用于TextBox。 我有一个TextBox,我需要将其绑定到一个Command,当我在TextBox上按下Enter键时触发。目前,我正在使用以下处理程序来处理KeyUp事件,但它...

72得票4回答
ICommand MVVM 实现

在我正在进行的这个MVVM实现中,我需要多个命令。我已经厌倦了一个一个地实现ICommand类,所以我想出了一个解决方案,但我不知道它有多好,所以任何WPF专家的建议都将不胜感激。如果您能提供更好的解决方案,那就更好了。 我的做法是,定义一个单一的ICommand类和两个代理,这两个代理都以...

52得票2回答
ICommand与RoutedCommand的区别

让我们创建一个按钮,将其Command属性绑定到自定义命令。 何时应该实现ICommand接口?还是从RoutedCommand派生类呢?我看到RoutedCommand实现了ICommand接口。 在哪些情况下可能需要实现ICommand接口?MVVM模型呢?哪个更适合这个目的?

45得票5回答
Josh Smith的RelayCommand实现有缺陷吗?

考虑参考Josh Smith的文章"WPF Apps With The Model-View-ViewModel Design Pattern",特别是RelayCommand的示例实现(见图3)。 (无需阅读整篇文章以回答此问题。) 总的来说,我认为该实现非常出色,但我对将CanExecu...

39得票3回答
CanExecuteChanged和CommandManager.RequerySuggested的实际任务是什么?

我从Josh Smith的MVVM 教程中获取了以下代码。 有人能够简要解释一下这段代码实际上是做什么的吗? public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested +=...

34得票7回答
CommandManager.InvalidateRequerySuggested() 不够快。我该怎么办?

短版本 CommandManager.InvalidateRequerySuggested()调用需要比我想象中的时间更长(在UI控件变成禁用状态之前需要1-2秒的延迟)。 长版本 我有一个系统,在该系统中,我将任务提交给基于后台线程的任务处理器。该提交发生在WPF UI线程上。 当此提交...

33得票4回答
如何在WPF中将命令参数传递给ViewModel中的方法?

我正在尝试将CommandParameter传递给ViewModel中的方法。如何实现?private void Open(object sender) { if (sender==this.objMainWindow.btnHistory) { objMain...

26得票2回答
ICommand的CanExecuteChanged事件

Icommand 包含两个方法和一个事件。 这两个方法的作用很清楚,但是提供在 ICommand 中的事件我不明白它的作用。 什么时候会触发 CanExecuteChanged 事件? 下面的解释来自于MSDN,但我看不太懂。 如果命令管理器检测到命令源发生了更改,而这可能会使已...

21得票7回答
将列表框项内的命令绑定到视图模型父级上的属性

我已经花了一个小时的时间,并查看了所有相关的stackoverflow问题。 我的问题非常简单: 我有一个HomePageVieModel:HomePageVieModel +IList<NewsItem> AllNewsItems +ICommand OpenNews 我的标...

21得票2回答
从xaml传递命令参数

我尝试像这样做:<DataGrid Name="myGrid" ItemSource="{Binding Path=MyCollection}"> <DataGrid.ContextMenu> <ContextMenu> ...