码迷,mamicode.com
首页 > Windows程序 > 详细

wpf mvvm ViewModel如何关闭view窗口

时间:2020-01-08 10:57:22      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:content   style   对象   pos   wpf   class   get   eve   null   

原文:wpf mvvm ViewModel如何关闭view窗口

最近用wpf 开发一客户端(MVVM),需要增加登陆窗口,登陆成功后关闭登陆窗口。

废话少说进入正题。

原理:通过CommandParameter传递窗口对象,再调用Close()关闭view窗口

请先安装:

prism4 (http://compositewpf.codeplex.com/releases)

BlendWPFSDK(https://www.microsoft.com/zh-cn/download/details.aspx?id=10801)

引用 Microsoft.Practices.Prism

xaml中的代码:

<!-- *****方法一:LoginCommand: ViewModel中实现的Command****************************-->

<Button Content="登    陆" Height="30"  Width="100" Command="{Binding LoginCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}"/>


<!--*****************方法二****************************************

将方法一中

CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}"
修改为:CommandParameter="{Binding ElementName=wd}"
窗口的Name="wd"

*******************************************************************-->

ViewModel中代码:

  1. public ICommand LoginCommand
  2. {
  3. get
  4. {
  5. return new DelegateCommand<Window>((wd)=> {
  6. /*******************
  7. do something
  8. *******************/
  9. if(wd != null)
  10. </span>wd.Close();
  11. });
  12. }
  13. }




wpf mvvm ViewModel如何关闭view窗口

标签:content   style   对象   pos   wpf   class   get   eve   null   

原文地址:https://www.cnblogs.com/lonelyxmas/p/12164904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!