.net – 获取“DialogResult只能在Window被创建之后被设置,并且
发布时间:2020-12-13 20:56:15 所属栏目:Windows 来源:网络整理
导读:我正在为WPF表单关闭实现 this MVVM模式,这也是在 blog中解释的,我收到System.InvalidOperationException,并显示错误消息“DialogResult只能在Window创建后显示为对话框”。当我尝试设置对话框结果关闭按钮命令: DialogResult = true; 这是我的ViewModel
我正在为WPF表单关闭实现
this MVVM模式,这也是在
blog中解释的,我收到System.InvalidOperationException,并显示错误消息“DialogResult只能在Window创建后显示为对话框”。当我尝试设置对话框结果关闭按钮命令:
DialogResult = true; 这是我的ViewModel: class MainWindowViewModel:INotifyPropertyChanged { private bool? dialogResult; public bool? DialogResult { get { return dialogResult; } set { if (value != this.dialogResult) { this.dialogResult = value; OnPropertyChanged("DialogResult"); } } } public string Text { get { return "Hello!"; } } void CloseCommandExecute() { this.DialogResult = true; } 这是XAML视图: <Window x:Class="WpfApplication.Mvvm.Windowclosing.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfApplication.Mvvm.Windowclosing" local:DialogCloser.DialogResult="{Binding DialogResult}" Title="MainWindow" Height="350" Width="525"> <Window.DataContext> <local:MainWindowViewModel /> </Window.DataContext> <Grid> <Grid.RowDefinitions> <RowDefinition Height="100"/> <RowDefinition Height="40"/> </Grid.RowDefinitions> <TextBlock Text="{Binding Text}" Grid.Row="0"/> <Button Grid.Row="1" Command="{Binding CloseCommand}">Close Me</Button> </Grid> </Window> 我在这里做错了什么?
使用ShowDialog()打开表单时,设置对话框结果才有效。当您尝试在使用Show()打开的表单上设置对话框结果时,会收到此错误。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – 有没有办法在PowerShell中从头开始创建ACL,而不
- [Windows] IIS 7 产生凭证要求文件 (IIS7 Export Certifica
- Windows 7上的C#Winform网格渲染速度很慢
- 什么是适用于Windows / C的优秀2D图形绘制API?
- windows – 忽略.gitignore中的符号链接
- 部署 – 是否可以使用xcopy部署Microsoft ReportViewer Web
- windows – 如何手动确定当前操作系统的CodePage和Locale
- windows-server-2016 – Windows Server 2016中的“数据共享
- xaml – Windows通用响应式设计重新定位
- windows-7 – 跳过新的Windows 7用户选择并转到登录提示
推荐文章
站长推荐
热点阅读