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 小时前
考虑通信时延的直流微电网分布式电-氢混合储能协同控制仿真复现与改进
分布式·wpf
Kimhill张12 小时前
.net core8 WPF 依赖注入(DI)
wpf·.netcore
△曉風殘月〆1 天前
如何在WPF中使用 Fluent 主题
wpf
△曉風殘月〆1 天前
不同.NET版本中的WPF新增功能
.net·wpf
海盗12341 天前
WPF使用内置资源系统实现国际化
wpf
Rotion_深2 天前
WPF UserControl 和 CustomControl
wpf
SEO-狼术2 天前
Run Secure SFTP Across Every Platform
pdf·wpf
c#上位机2 天前
wpf之RadialGradientBrush径向渐变画刷
wpf
不懂的浪漫2 天前
OpenTelemetry 和 SkyWalking Agent 怎么选?一次讲清 OTel、SkyWalking Agent 的相同点与区别
wpf·skywalking·链路追踪·opentelemetry·otel
c#上位机2 天前
wpf之LinearGradientBrush线性渐变
wpf