wpf中mvvm的Command绑定后,如何在点击按钮的时候在viewmodel里面异步执行方法。
展开全部
主要是你手动触发事件就行了!~ 改变 CanExecute的返回值,再手动触发 CanExecuteChanged 事件就OK啦!
public class AAACommand : ICommand
{
private bool _isRun;
public bool CanExecute(object parameter)
{
return !_isRun;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
_isRun = true;
if (CanExecuteChanged == null)
{
CanExecuteChanged(this, new EventArgs());
}
// 你的代码
_isRun = false;
if (CanExecuteChanged == null)
{
CanExecuteChanged(this, new EventArgs());
}
}
}
public class AAACommand : ICommand
{
private bool _isRun;
public bool CanExecute(object parameter)
{
return !_isRun;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
_isRun = true;
if (CanExecuteChanged == null)
{
CanExecuteChanged(this, new EventArgs());
}
// 你的代码
_isRun = false;
if (CanExecuteChanged == null)
{
CanExecuteChanged(this, new EventArgs());
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询