1. ViewModel中关闭View publicclassMainViewModel {publicDelegateCommand<Window> CloseWindowCommand {get;privateset; }publicMainViewModel() { CloseWindowCommand=newDelegateCommand<Window>(CloseWindow); }privatevoidCloseWindow(Window window) {if(window !=null) { window.Close(); } } } <Windowx:Class="Mvv...
{this.window =(Window)window;} } 3新建ViewModel实例的时候,传入View对象。 publicMainWindow() { InitializeComponent();this.DataContext =newMyViewModel(this); } 3需要的时候,就调用window的Close方法。 this.window.Close();
1. ViewModel中关闭View publicclassMainViewModel {publicDelegateCommand<Window> CloseWindowCommand {get;privateset; }publicMainViewModel() { CloseWindowCommand=newDelegateCommand<Window>(CloseWindow); }privatevoidCloseWindow(Window window) {if(window !=null) { window.Close(); } } } <Windowx:Class="Mvv...
1、UI中的IsEnabled绑定VM中的属性 2、UI的后台代码中,注册IsEnableChange事件,在这个事件里,检测到传过来的值满足某个条件,即可触发Close()命令 如此,VM控制自己那个属性就能达到关闭V的目的了。 没代码我说个J8: UI <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" …… IsEnabl...
2、UI的后台代码中,注册IsEnableChange事件,在这个事件里,检测到传过来的值满足某个条件,即可触发Close()命令。 如此,VM控制自己那个属性就能达到关闭V的目的了。 没代码我说个J8: UI <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" …… IsEnabled="{Binding IsLoginFailed, Mode...
简介:WPF MVVM 如何在 ViewModel 中关闭界面窗口 01xaml <Button Width="80"Command="{Binding CancelCmd}"CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"></Button> 02 后台cs private CommandBase cancelCmd;public CommandBase CancelCmd{get{if (cancel...
这当然是 UI 逻辑。相信你可能还会纠结打开对话框是否可以在 ViewModel 里:newWindow().ShowDialog();...
WPF MVVM是一种基于Windows Presentation Foundation(WPF)的设计模式,它将界面(View)与业务逻辑(ViewModel)分离,以实现更好的代码可维护性和可测试性。 从另一个ViewModel实例化ViewModel是指在MVVM模式中,一个ViewModel需要创建或使用另一个ViewModel的实例。这种情况通常发生在一个ViewModel需要与另一个ViewMode...
1、WPF的Page页面、Window窗口对象和视图模型 MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式,主要目的是为了分离视图(View)和模型(Model)的耦合。 对于MVVM应用中,MVVM其中包括Model、View、ViewModel三者内容。其中Page或者Window对象,都是属于视图View的概念。由于目前我们程序框架大多数情况下...
hide 呀 close呀 1.这些方法和属性很有可能是xaml里的属性,此时可以使用binding或加一个convert 绑在vm中操作(网上最多) 2.使用消息向view发送命令,让view在view中自己操作自己 * 3.借助框架,直接就访问view了,也是最方便相对轻耦合的(指不影响测试),就是和框架更加的强依赖了。比如CM的TryCloseAsync() ...