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));
相关推荐
棉晗榜15 分钟前
WPF将程序集里面嵌入的资源文件下载到本机磁盘中,将项目中的文件下载到桌面
开发语言·wpf
△曉風殘月〆1 小时前
WPF MVVM实战系列教程(一、Prism框架介绍)
wpf·mvvm·prism
Aevget2 小时前
DevExpress WPF中文教程:Data Grid - 如何绑定到有限制的自定义服务(三)?
wpf·界面控件·devexpress·ui开发·.net 10
△曉風殘月〆3 小时前
WPF MVVM实战系列教程(二、使用Visual Studio 创建Prism项目)
wpf·mvvm·prism
bugcome_com3 天前
WPF 核心布局控件全解析:从 Grid 到 UniformGrid 的实战应用
c#·wpf
观无3 天前
WPF-Datagrid控件的无缝滚动
wpf
꧁༺℘₨风、凌๓༻꧂3 天前
C# WPF 项目中集成 Pdf查看器
pdf·c#·wpf
Kiyra4 天前
WebSocket vs HTTP:为什么 IM 系统选择长连接?
分布式·websocket·网络协议·http·设计模式·系统架构·wpf
要记得喝水4 天前
某公司C#-WPF面试题-来自nowcoder(含答案和解析)--2
c#·wpf