wvvm中如何控制viewmodel中代码的执行开始时间
时间: 2024-03-26 14:40:14 浏览: 17
在WPF中使用MVVM模式,通常会使用Command来控制ViewModel中代码的执行开始时间。Command是一个实现了ICommand接口的类,它包含了一个可以被执行的方法(Execute)和一个判断是否可以执行的方法(CanExecute)。在View中可以通过绑定Command来触发ViewModel中的方法执行。
可以使用RelayCommand或DelegateCommand来实现Command。其中RelayCommand是在构造函数中直接传递一个Action,而DelegateCommand是通过在构造函数中传递两个委托来实现CanExecute和Execute方法。
例如,在ViewModel中定义了一个RelayCommand来执行某个操作:
```csharp
public class MainViewModel
{
public ICommand DoSomethingCommand { get; set; }
public MainViewModel()
{
DoSomethingCommand = new RelayCommand(DoSomething);
}
private void DoSomething()
{
// 执行某个操作
}
}
```
在View中绑定该Command:
```xml
<Button Content="Do Something" Command="{Binding DoSomethingCommand}" />
```
当点击该按钮时,就会触发ViewModel中的DoSomething方法执行。