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));
相关推荐
小北方城市网9 小时前
Spring Cloud Gateway 生产级实践:高可用架构、灰度发布与故障排查
spring boot·redis·分布式·缓存·架构·wpf
ujainu9 小时前
Flutter for OpenHarmonyOS 前置知识:Dart语言详解(下)
flutter·wpf·harmonyos
bugcome_com10 小时前
WPF 数据模板(DataTemplate):优雅实现数据与 UI 的解耦
ui·wpf
小北方城市网1 天前
Redis 分布式锁与缓存三大问题解决方案
spring boot·redis·分布式·后端·缓存·wpf·mybatis
Aevget1 天前
DevExpress WPF中文教程:Data Grid - 如何绑定到有限制的自定义服务(五)?
wpf
yangSnowy1 天前
Redis数据类型
数据库·redis·wpf
资深web全栈开发1 天前
分布式锁的陷阱:Redlock 真的安全吗?
分布式·安全·wpf
James.TCG1 天前
VM访问View(Interaction)
wpf
掘根1 天前
【jsonRpc】项目介绍
wpf
工业甲酰苯胺1 天前
C#中的多级缓存架构设计与实现深度解析
缓存·c#·wpf