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

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

9得票3回答
在过程化代码中调用Execute之前,我应该检查ICommand的CanExecute方法吗?

在XAML中使用“ ICommand”时,WPF使用“ CanExecute”方法来启用或禁用与命令相关联的控件。但是,如果我从过程性代码中调用“ Execute”,我应该首先检查“ CanExecute”以确保命令可以执行,还是应该让“ Execute”为我处理此检查? 换句话说,我应该这...

7得票1回答
如何在视图内拦截RoutedCommand的执行?

在一个WPF / MVVM应用程序中,我正在尝试找到一种代码有效的方法,在任何耗时操作之前将主视图光标设置为Cursors.Wait,并在完成后将其恢复为默认光标。 由于所有操作都是使用路由命令调用的,我想找到一种拦截命令执行的方法,理想情况下是通过创建一个通用命令类来包装内置路由命令的实例...

9得票2回答
有哪些MVVM框架可以很好地与RoutedCommand配合使用?

RoutedCommand和RoutedUICommand有很多优点。它们内置了对文本和键盘手势的支持。您可以将一系列RoutedUICommands绑定到菜单的ItemsSource上,它会自动为您创建和绑定菜单项。一些命令(剪切、复制、粘贴)由开箱即用的控件自动支持。 然而,每当我使用M...

15得票3回答
我该如何在没有代码后台的情况下处理WPF路由命令?(涉及IT技术)

根据我对MVVM的理解,直接在ViewModel中处理路由命令是一个很好的实践。 当将路由命令作为RelayCommand(或DelegateCommand)定义在ViewModel中时,可以像这样直接绑定到该命令:Command={Binding MyViewModelDefinedCom...

30得票2回答
何时在WPF中使用事件而不是命令?

你好,我最近研究了WPF并开始学习有关事件和命令的知识。我通常在按下按钮时使用命令来运行我的“视图模型”中的方法。 通过使用命令,是否可以使按钮对任何其他事件如鼠标悬停事件做出反应?或者在这种情况下是否应该使用WPF事件? 如果应使用WPF事件,那么事件处理程序实现只需调用视图模型中的方法...

7得票1回答
分离视图、命令展示(文本、图标)和命令逻辑(执行、可执行)。

如果你只想看结论,请查看最后一段。 在纯WPF中,“建议”将演示(控件、文本、图标)放入视图中,将命令逻辑(Execute、CanExecute方法)放入代码后。除了将逻辑同时放入视图(CommandBindings)和代码后是不受欢迎的做法外,它对XAML复制一点也没有帮助:每次使用命令时...

19得票1回答
一个RoutedCommand和一个RoutedUICommand有什么区别?

我尝试过阅读相关文档,但未能找到令人满意地解释RoutedCommand和RoutedUICommand之间区别的文档。

85得票6回答
XAML中的布尔型CommandParameter

我有这段代码(它能正常工作):<KeyBinding Key="Enter" Command="{Binding ReturnResultCommand}"> <KeyBinding.CommandParameter> <s:Boolean...

8得票2回答
在WPF DataGrid中实现自定义复制和粘贴功能,即使其中没有行也可以正常工作

我需要在WPF应用程序中实现自定义的复制+剪切+粘贴数据(而不是文本或CSV)以在网格之间进行复制。使用标准的ApplicationCommands和定义CommandBinding非常有效,但仅当DataGrid包含至少1行数据并且选择它们时才有效。当没有行或焦点不在任何行上时,所有命令都被...