mvvm框架下,wpf如何实现窗口的关闭

思路,将这个view当作参数传递给viewModel

步骤一:给xaml起名字:Name="window"

步骤二:在需要实现关闭的按钮中将window元素传出去

XML 复制代码
<Button Command="{Binding CloseWindowCommand}" CommandParameter="{Binding   ElementName=window}">立即注册</Button>

步骤三:viewModel中将传入的object类型转换一下然后就调用Close

方法:

cs 复制代码
private void CloseWindow(object parameter)
{
    MessageBox.Show("OK!");
    var window = parameter as Window;
    if (window != null)
    {
        window.Close();
    }
}

构造函数中绑定按钮的Command:

cs 复制代码
CloseWindowCommand = new RelayCommand<object>(t => CloseWindow(t));
相关推荐
gis开发之家9 小时前
Spring Boot 4 定时任务与异步线程池:从 @Scheduled 到高并发任务编排(生产级实战)
java·spring boot·后端·wpf·spring boot4
clz13145211 天前
如何设计一个优雅可靠的金融级联机接口
wpf
闲云自留地2 天前
云平台存储管理员:Cinder 创建挂载卷 + Swift 分布式存储原理
分布式·wpf·swift
敲代码的嘎仔3 天前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
闲云自留地3 天前
OpenStack 的身份管家:Keystone 令牌、RBAC 权限模型拆解
wpf·openstack
FuckPatience5 天前
WPF 窗体唤醒,判断是否已存在,存在则弹出
wpf
程序员清风5 天前
从单体应用到微服务:后端系统拆分的基本方法
微服务·架构·wpf
FuckPatience6 天前
WPF 改变根据某一列条件改变行样式
wpf
dalong107 天前
WPF:DataGrid样式
wpf
samble9 天前
从零搭建工业控制系统(二十二):线程安全与并发控制
c#·wpf·并发·mvvm·线程安全·工业控制