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

it2025-10-02  4

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

点击登录的当然是一个按钮 这个是登录的按钮 两个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(); } });

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

最新回复(0)