WPF —— MVVM command如何传递参数

点击按钮把窗体关闭 把页面的控件传递到自定义指令的函数中

FindAncestor 找到该组件的祖先元素

AncestorType={x:Type Window} 祖先元素类型为window
CommandParameter 自定义指令传递参数

自定义指令

cs 复制代码
public class MyCommand : ICommand
{
    public event EventHandler CanExecuteChanged;

    public bool CanExecute(object p)
    {
        return true;
    }

    public void Execute(object p)
    {
        var window = p as Window;
        if (window != null)
        {
            window.Close();
        }
    }
}

public MainWindow()

{

InitializeComponent();

M1 = new MyCommand();

this.DataContext = this;

//把指令封装公共类里面

//M1 = new CMD();

//this.DataContext = this;

}

public MyCommand M1 { get;set; }

//public CMD M1 { get; set; } 把指令封装公共类里面

相关推荐
samble3 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
_Jonas3 天前
.net framework开发环境正式环境配置文件的切换
.net·wpf
dalong105 天前
WPF:Modbus 状态监控
wpf·modbus
He BianGu6 天前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
fogota9 天前
Emoji与Segoe MDL2 Assets的比较
c#·wpf
fogota9 天前
C# WPF 按钮加载字体图标 / 动物头像
c#·.net·wpf
fogota9 天前
C# WPF 按钮加载系统图标 / 动物头像
c#·.net·wpf
军训猫猫头9 天前
C# 封装 MySQL 自动写入与查询工具类(基于 MySqlConnector)
mysql·c#·.net·wpf
gis开发之家10 天前
Spring Boot 4 定时任务与异步线程池:从 @Scheduled 到高并发任务编排(生产级实战)
java·spring boot·后端·wpf·spring boot4
clz131452111 天前
如何设计一个优雅可靠的金融级联机接口
wpf