赞
踩
1 新建wpf应用
2 新建Views,Models,ViewModels文件夹
3 新建Base文件夹,并在其里面新建CommandBase类
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Input;
-
- namespace WpfApp1.Base
- {
- public class CommandBase : ICommand
- {
- public event EventHandler CanExecuteChanged;
-
- public bool CanExecute(object parameter)
- {
- return true;
- }
-
- public void Execute(object parameter)
- {
- DoExecute?.Invoke();
- }
-
- public Action DoExecute { get; set; }
-
-
- public CommandBase(Action doExecute)
- {
- this.DoExecute = doExecute;
- }
- }
- }
3 在ViewModels里面新建MainViewModels类,并在其里面新建MainViewModel
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Input;
- using WpfApp1.Base;
- using WpfApp1.Models;
-
- namespace WpfApp1.ViewModels
- {
- public class MainViewModel
- {
-
- public ICommand btnCommand { get; set; }
-
-
- public MainViewModel()
- {
- btnCommand = new CommandBase(() =>
- {
-
- });
- }
- }
- }
这里面指定命令执行的委托
4 在MainWindow.xaml中添加Button,并设置Command属性
- <Window x:Class="WpfApp1.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:WpfApp1"
- xmlns:vm="clr-namespace:WpfApp1.ViewModels"
- mc:Ignorable="d" FontSize="30"
- Title="MainWindow" Height="450" Width="800">
- <Window.DataContext>
- <vm:MainViewModel />
- </Window.DataContext>
- <Grid>
- <Button Content="test" Command="{Binding btnCommand}" />
- </Grid>
- </Window>
5 运行执行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。