Как использовать параметр в Task-Based DelegateCommand в Prism - PullRequest
0 голосов
/ 28 февраля 2020

Можно ли использовать параметр в DelegateCommand на основе задач (Prism.Commands):

(https://prismlibrary.com/docs/commanding.html)

public class ArticleViewModel
{
    public DelegateCommand SubmitCommand { get; private set; }

    public ArticleViewModel()
    {
        SubmitCommand = new DelegateCommand<object>(async ()=> await Submit());
    }

    Task Submit(object parameter)
    {
        return SomeAsyncMethod(parameter);
    }
}

1 Ответ

0 голосов
/ 28 февраля 2020

Можно ли использовать параметр в DelegateCommand на основе задач?

Конечно.

internal class ArticleViewModel : BindableBase
{
    public ArticleViewModel()
    {
        SubmitCommandWithMethodGroup = new DelegateCommand<object>( SomeAsyncMethod );
        SubmitCommandWithLambda = new DelegateCommand<object>( async x => { var y = await Something(x); await SomethingElse(y); } );
    }

    public DelegateCommand<object> SubmitCommandWithMethodGroup { get; }
    public DelegateCommand<object> SubmitCommandWithLambda { get; }
}
...