当前位置:   article > 正文

WPF MVVM Command的简单使用_wpf 中commandbase 这个方法在哪个库里

wpf 中commandbase 这个方法在哪个库里

1 新建wpf应用

2 新建Views,Models,ViewModels文件夹

3 新建Base文件夹,并在其里面新建CommandBase类

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows.Input;
  7. namespace WpfApp1.Base
  8. {
  9. public class CommandBase : ICommand
  10. {
  11. public event EventHandler CanExecuteChanged;
  12. public bool CanExecute(object parameter)
  13. {
  14. return true;
  15. }
  16. public void Execute(object parameter)
  17. {
  18. DoExecute?.Invoke();
  19. }
  20. public Action DoExecute { get; set; }
  21. public CommandBase(Action doExecute)
  22. {
  23. this.DoExecute = doExecute;
  24. }
  25. }
  26. }

3 在ViewModels里面新建MainViewModels类,并在其里面新建MainViewModel

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows.Input;
  7. using WpfApp1.Base;
  8. using WpfApp1.Models;
  9. namespace WpfApp1.ViewModels
  10. {
  11. public class MainViewModel
  12. {
  13. public ICommand btnCommand { get; set; }
  14. public MainViewModel()
  15. {
  16. btnCommand = new CommandBase(() =>
  17. {
  18. });
  19. }
  20. }
  21. }

这里面指定命令执行的委托

4 在MainWindow.xaml中添加Button,并设置Command属性

  1. <Window x:Class="WpfApp1.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:WpfApp1"
  7. xmlns:vm="clr-namespace:WpfApp1.ViewModels"
  8. mc:Ignorable="d" FontSize="30"
  9. Title="MainWindow" Height="450" Width="800">
  10. <Window.DataContext>
  11. <vm:MainViewModel />
  12. </Window.DataContext>
  13. <Grid>
  14. <Button Content="test" Command="{Binding btnCommand}" />
  15. </Grid>
  16. </Window>

5 运行执行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/613363
推荐阅读
相关标签
  

闽ICP备14008679号