我在WPF(.NET 4.0)中使用@ Stephen-Cleary AsyncCommand implementation,现在我试图找出如何在命令定义期间指定CanExecute处理程序。
通常我会创建这样的命令:
SaveCommandAsync = AsyncCommand.Create(async token =>
{
//async code
});
我没有看到任何Create重载,所以我可以指定CanExecute逻辑。
谢谢,
伊戈尔
答案 0 :(得分:4)
使用Stephen Cleary的Nito.Mvvm.Async项目来实现您的需求。
将nuget引用添加到package:
#PRINT FOR LOG FILE------------
cat(paste0("Username: ",userdata$name, "\n"))
cat(paste0("Datum: ",Sys.time(), "\n"))
创建Xaml绑定:
<package id="Nito.Mvvm.Async" version="1.0.0-eta-05" targetFramework="net45" />
创建CustomAsyncCommand,指定CanExecute函数
<Button Content="Toggle" Command="{Binding MyAsyncCommand}"></Button>
在AsyncAction中执行某些异步工作
MyAsyncCommand = new CustomAsyncCommand(AsyncAction, x=> !_isWorking);
最后:enjoy。