WPF MVVM: 如何将方法传递给 ViewModel
在 WPF 中,通常使用 MVVM 模式来实现视图和数据的分离。在 MVVM 模式中,ViewModel 负责处理数据和业务逻辑,View 负责显示界面。因此,如果想要把方法传给 ViewModel,可以使用以下方法:
- 创建一个命令属性
在 ViewModel 中创建一个命令属性,可以使用 RelayCommand 或 DelegateCommand 等命令实现类,然后在 xaml 中绑定该命令属性。
- 在 xaml.cs 中调用 ViewModel 的方法
在 xaml.cs 中,可以通过 DataContext 属性获取到 ViewModel 的实例,然后调用 ViewModel 中的方法,传递需要的参数。
示例代码如下:
// ViewModel 中的命令属性 public ICommand MyCommand { get; set; } public ViewModel() { MyCommand = new RelayCommand(ExecuteMyCommand); } private void ExecuteMyCommand() { // 处理逻辑 }
// xaml 中绑定命令属性
// xaml.cs 中调用 ViewModel 的方法 private void Button_Click(object sender, RoutedEventArgs e) { var viewModel = DataContext as ViewModel; viewModel?.ExecuteMyCommand(); }
原文地址: https://www.cveoy.top/t/topic/njBS 著作权归作者所有。请勿转载和采集!