Итак, у меня есть это простое приложение с кнопкой, вот и все.И у кнопки есть свойство команды, привязанное к команде.
Это команда, к которой она привязана.
public class StartAsyncCommand : ICommand
{
private Task _execute;
public StartAsyncCommand(Task Execute)
{
_execute = Execute;
}
public bool CanExecute(object parameter)
{
return true;
}
public void Execute(object parameter)
{
_execute.Start();
}
public event EventHandler CanExecuteChanged;
}
А в ViewModel это то, что я получил.
public StartAsyncCommand StartCommand { get; }
public MoveMouseModel()
{
StartCommand = new StartAsyncCommand(MoveMove());
}
public async Task MoveMove()
{
MessageBox.Show("First Message..");
await Task.Delay(2000);
MessageBox.Show("Second Message..");
}
XAML
<Grid>
<Button Width="100"
Height="25"
Content="Async?"
Command="{Binding MoveMouseModel.StartCommand}"/>
</Grid>
Когда я запускаю приложение, эти сообщения отображаются, хотя я не нажимал кнопку.Что я могу сделать, чтобы предотвратить это?