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));
相关推荐
廋到被风吹走1 天前
【AI】Codex 复杂任务拆解:从“一气呵成“到“步步为营“
人工智能·wpf
希望永不加班1 天前
SpringBoot 整合 Redis 缓存
spring boot·redis·后端·缓存·wpf
_MyFavorite_1 天前
JAVA重点基础、进阶知识及易错点总结(29)JDK8 时间 API 进阶
java·开发语言·wpf
武藤一雄2 天前
深入拆解.NET内存管理:从GC机制到高性能内存优化
windows·microsoft·c#·.net·wpf·.netcore·内存管理
武藤一雄4 天前
WPF/C# 应对消息洪峰与数据抖动的 8 种“抗压”策略
windows·微软·c#·wpf·.netcore·防抖·鲁棒性
武藤一雄5 天前
WPF深度解析Behavior
windows·c#·.net·wpf·.netcore
Maybe_ch5 天前
WPF的STA线程模型、APM与TAP:从线程约束到现代异步
c#·.net·wpf
FuckPatience5 天前
WPF 实现windows文件压缩文件解压过程动画
wpf
会飞的大可6 天前
Spring Cloud Alibaba全景:Nacos、Sentinel、Seata整合实战
sentinel·wpf
baivfhpwxf20236 天前
DataGrid 中增加选择列 功能实现
ui·wpf