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; } 把指令封装公共类里面

相关推荐
cn_mengbei1 小时前
鸿蒙PC原生应用开发实战:ArkTS与DevEco Studio从零构建跨端桌面应用全栈指南
华为·wpf·harmonyos
lingxiao168889 小时前
WebApi详解+Unity注入--上篇:基于Framework的WebApi
c#·wpf·web
是一个Bug10 小时前
Java后端开发面试题清单(50道) - 分布式基础
java·分布式·wpf
无心水11 小时前
【分布式利器:腾讯TSF】4、TSF配置中心深度解析:微服务动态配置的终极解决方案
分布式·微服务·架构·wpf·分布式利器·腾讯tsf·分布式利器:腾讯tsf
lingxiao168881 天前
WebApi详解+Unity注入--下篇:Unity注入
unity·c#·wpf
无心水1 天前
【分布式利器:腾讯TSF】6、TSF可观测性体系建设实战:Java全链路Metrics+Tracing+Logging落地
java·分布式·架构·wpf·分布式利器·腾讯tsf·分布式利器:腾讯tsf
故事不长丨2 天前
C#字典(Dictionary)全面解析:从基础用法到实战优化
开发语言·c#·wpf·哈希算法·字典·dictionary·键值对
冰茶_2 天前
WPF路由事件:隧道与冒泡机制解析
学习·c#·.net·wpf·.netcore·mvvm
He BianGu2 天前
【笔记】 WPF中CollectionChangedEventManager功能详细介绍
笔记·wpf
张人玉2 天前
C#WPF页面布局及其属性
开发语言·c#·wpf