AsyncCommand CanExecute处理程序

时间:2016-11-30 11:47:17

标签: .net wpf asynchronous icommand

我在WPF(.NET 4.0)中使用@ Stephen-Cleary AsyncCommand implementation,现在我试图找出如何在命令定义期间指定CanExecute处理程序。

通常我会创建这样的命令:

            SaveCommandAsync = AsyncCommand.Create(async token =>
            {
                //async code    
            });

我没有看到任何Create重载,所以我可以指定CanExecute逻辑。

谢谢,

伊戈尔

1 个答案:

答案 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