MVVM WPF 窗口跳转非页面跳转实现

今天想做一件事情
在我的主程序前添加一个登录窗口
输入密码后可以登录成功
该登录窗口关闭 主窗口打开

点击登录的当然是一个按钮
MVVM WPF 窗口跳转非页面跳转实现_第1张图片
这个是登录的按钮 两个textbox还没画哈哈

然后我去搜MVVMlight窗口跳转
浏览了近百条信息都无果,百(du)(gu)歌都解决不了我的问题
我很难受
全是MVVMlight Messaging INotifyNevigate这种
但是这一个是消息传递 一个是页面导航
页面导航不支持窗口导航的呀
我都想重构我的主界面了 变成page什么的
结果在我即将放弃的时候 突然浏览到某行代码 拿过来
竟然达到了我的效果

实现的步骤
1.单机登录按钮的时候传递该窗口的信息
xaml代码

<Grid>
        <Button Content="AAAA" Command="{Binding UserLogin}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"></Button>
    </Grid>

2.然后 我们再view model进行处理

public RelayCommand<Window> UserLogin => new RelayCommand<Window>((str) =>
        {
            if (str is System.Windows.Window)
            {
                new MainWindow().Show();
                (str as System.Windows.Window).Close();
            }

        });

展示主窗口后关闭
当然我会加一些验证,但是我激动得要记录下来
也给同类需求的铁子们雪中送炭

你可能感兴趣的:(WPF,C#,wpf,mvvm)