`
Lstoryc
  • 浏览: 78318 次
文章分类
社区版块
存档分类
最新评论

ViewModel下关闭View

 
阅读更多

private Action _closeAction;

在ViewModel的构造函数中这样定义:
public MainWindowViewModel(Action closeAction)
{
   this._closeAction=closeAction;
}

在窗体构造函数中:

this.DataContext=new MainWindowViewModel(this.Close);

要关闭时在ViewModel中执行:

this._closeAction.Invoke();

 

 

Personal: http://www.cnblogs.com/Jax/archive/2009/10/12/1581109.html

 

http://blog.csdn.net/qing2005/article/details/6601199

分享到:
评论

相关推荐

    WPF 使用MVVM模式 关闭窗口

    因此,我们需要找到一种方式,让ViewModel能够通知View执行关闭窗口的操作,但又不破坏设计模式的纯度。 **实现关闭窗口的方法** 1. **命令(Command)**: WPF提供了一种称为命令的机制,允许ViewModel通过命令触发...

    Wpf Mvvm模式下窗口ShowDialog的实现

    在Windows Presentation Foundation (WPF) 应用程序中,Model-View-ViewModel (MVVM)是一种广泛采用的设计模式,它分离了用户界面(View)、业务逻辑(Model)和应用程序逻辑(ViewModel)。在这种模式下,...

    WPF Prism 可关闭的TabControl

    在视图(View)中,我们可以使用`DataTemplate`来定义每个Tab页的外观,并结合MVVM模式,将`CloseableTabItem`的`CloseCommand`绑定到对应的ViewModel的关闭命令。当用户点击关闭按钮时,ViewModel的关闭命令会被...

    WinForm 关闭子窗体时刷新父窗体的数据

    - 考虑使用MVVM(Model-View-ViewModel)或MVC(Model-View-Controller)设计模式。这些模式可以帮助你更好地组织代码,使得数据的更新和视图的刷新更加清晰和可维护。 总的来说,刷新父窗体数据的关键在于正确...

    带关闭的wpf tabcontrol

    3. **使用行为库**:如果使用了MVVM(Model-View-ViewModel)模式,可以利用如MahApps.Metro、Caliburn.Micro等库提供的行为扩展来轻松实现Tab页的关闭。 在压缩包文件"TabControlWithClose"中,可能包含了实现这个...

    带关闭按钮可自定义样式的wpf tabcontrol控件

    此外,通过实践这个项目,还可以提升对MVVM(Model-View-ViewModel)设计模式的理解,因为这通常用于组织WPF应用的逻辑。 总之,"带关闭按钮可自定义样式的wpf tabcontrol控件"是一个功能丰富的控件实例,它展示了...

    ios开发(Popup View)效果源码分享

    因此,为了保持代码的整洁和可维护性,推荐使用MVVM(Model-View-ViewModel)架构。在ViewModel中处理数据和业务逻辑,然后将结果传递给View进行展示。 最后,为了方便复用,你可以将Popup View封装成一个UI组件,...

    silverlightmvvm

    4. 事件处理:在MVVM中,View通常会订阅ViewModel的事件,例如当用户点击确定或取消按钮时,ViewModel会触发相应的事件,View则相应地关闭ChildWindow。 5. 数据转换器(IValueConverter):可能包含一些自定义的...

    打开一个窗体、就关闭一个窗体

    此外,对于WPF应用,可以利用MVVM(Model-View-ViewModel)设计模式来实现更复杂的通信。 6. **窗体堆栈管理**:在更复杂的应用中,你可能需要管理多个打开和关闭的窗体,这时可以使用窗体堆栈来跟踪已打开的窗体。...

    WPF MVVM 模式 监听窗口关闭事件

    由于`ViewModel`无法直接访问`View`的事件,我们需要定义一个命令(Command),当这个命令被触发时,就执行相应的关闭处理逻辑。GalaSoft.MvvmLight提供了一个`RelayCommand`类,可以很方便地创建这样的命令: ```...

    mvvm light 消息机制

    这通常在对象的生命周期结束时,如View被关闭或ViewModel被销毁时执行。 4. **消息泛型和参数**:`Messenger`支持泛型,允许发送和接收包含具体数据的消息。这意味着你可以传递任何类型的对象,比如自定义的模型类...

    WPF 完整示例(MVVM模式登录窗口)

    在Windows Presentation Foundation(WPF)中,MVVM(Model-View-ViewModel)设计模式是一种常见的开发方式,它分离了用户界面(View)、业务逻辑(ViewModel)和数据模型(Model)。这个示例项目将展示如何在MVVM...

    WPF MVVM完整示例(登录窗口)

    1. **数据绑定**:在MVVM模式下,View与ViewModel之间的通信主要依赖于数据绑定。在登录窗口中,可能有用户名和密码输入框,这些控件的数据可以双向绑定到ViewModel中的属性,使得用户界面的变化能够实时反映到...

    WPF mvvm框架Stylet使用教程-窗体交互用法

    Windows Presentation Foundation (WPF) 是Microsoft提供的一种用于构建桌面应用程序的框架,它引入了Model-View-ViewModel (MVVM) 设计模式,使得UI设计和业务逻辑分离,提高了开发效率。Stylet是一个轻量级的MVVM...

    工作提示工具

    在MVVM架构下,这个"AlarmClock"可能包含对应的Model(处理闹钟设置、触发逻辑),View(显示闹钟界面,提供用户交互)以及ViewModel(处理View和Model之间的数据交换,如设置闹钟时间、启动/关闭闹钟的命令等)。...

    自适应可关闭Tab_tab_Tabú_WPF_corne63_可关闭_源码

    开发者可能使用MVVM(Model-View-ViewModel)设计模式,使得视图模型可以控制TabItem的添加、删除和关闭,同时保持数据模型的完整性。 5. **事件处理:** 在用户关闭Tab页时,需要处理相关的事件,例如Closing、...

    Avalonia 项目使用ReactiveUI实现的MVVM

    ReactiveUI则是一个响应式和函数响应式的MVVM(Model-View-ViewModel)框架,它基于Reactive Extensions (Rx) 库,为开发者提供了强大的数据绑定和事件处理能力。在这个Demo中,我们将深入探讨如何在Avalonia项目中...

    WPF+Mvvmlight 简单的导航实例

    WPF是Microsoft推出的一种强大的UI框架,它提供了丰富的图形效果和灵活的布局管理,而MvvmLight(Model-View-ViewModel Light)则是针对WPF和Silverlight的一种轻量级MVVM设计模式实现,有助于简化UI开发和提高代码...

    基于WPF MVVM框架开发的串口调试助手Assistant,带有Scichart波形插件

    本项目是一款基于Windows Presentation Foundation (WPF) 框架,并采用MVVM(Model-View-ViewModel)设计模式的串口调试工具,集成了Scichart库,用于实时显示和分析串口数据的波形。MVVM模式是一种流行的UI设计模式...

Global site tag (gtag.js) - Google Analytics