首页 > 其他分享 >WPF Showdialog与DialogResult的注意事项

WPF Showdialog与DialogResult的注意事项

时间:2023-06-30 11:47:07浏览次数:33  
标签:OnClosing Window DialogResult window Showdialog WPF 属性

我们知道如果要设置window.Showdialog()的返回值,需要设置window.DialogResult属性。但是设置window.DialogResult属性会自动触发close,如果window.DialogResult属性会触发Window_OnClosing事件

        private void BtnCancel_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = false;
        }
        private void Window_OnClosing(object sender, CancelEventArgs e)
        {
            e.Cancel = true;
        }

如果Window_OnClosing中设置了e.Cancel = true,那么DialogResult会无法赋值成功,说明给DialogResult赋值前会先Close,如果Close失败会跳过DialogResult赋值过程。

为了解决上面的问题,可以使用自定义属性覆盖掉原先的DialogResult属性,然后使用Hide()替换Window_OnClosing里面的e.Cancel = true操作。

public new bool DialogResult { get; set; }

当然由于是自定义的属性,所以window.Showdialog()的返回值不会改变,做判断时可以

dialogRestart.ShowDialog();
if (dialogRestart.DialogResult)

 

标签:OnClosing,Window,DialogResult,window,Showdialog,WPF,属性
From: https://www.cnblogs.com/log9527blog/p/17516205.html

相关文章

  • WPF数据绑定UI不更新原因之一
    下面是有问题的代码privateObservableCollection<Params>_values;publicMainWindow(){InitializeComponent();this.dgrid1.ItemsSource=_values;}privatevoidbtnUploadClick(objectsender,RoutedEventArgse){_values=newObservableCollection&......
  • 界面组件DevExpress WPF v23.1新版亮点 - 启动和内存优化
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • WPF的六类控件之概述
    在线演示:http://v.youku.com/v_show/id_XNzA0NjU1Mjk2.html清晰版视频+代码下载:http://115.com/lb/5lbcftnrfo9s一、简介本篇让我们一起来了解一下WPF对控件的定义,以及它的六大类控件,分别为:内容控件、带标题的内容控件、条目控件、带标题的条目控件、特殊控件、布局控件。主要内......
  • WPF MVVM之点滴分享
    我并不打算长篇累牍的介绍什么是MVVM。我尽量简洁的介绍,并把自己的经验分享给大家。一、关于MVVMM:Model,数据模型(后台存储数据的类)V:View,视图(大部分情况下就是窗体,用来与用户交互)VM:ViewModel,视图模型。它的作用是连接Model与View,操作Model与View。如图所示......
  • 《WPF应用开发项目教程》pdf版电子书免费下载
    《WPF应用开发项目教程》以项目化任务驱动式组织教学内容,循序渐进地介绍WPF的开发环境、XAML基础、Application类、窗体、布局控件、常用控件、路由事件、系统命令库、自定义命令、Binding、资源、样式、模板、触发器等,使读者不仅能够学习WPF的各种开发知识,而且能够培养分析问题、......
  • DevExpress WPF Scheduler组件,快速构建性能优异的调度管理器!(上)
    无论您在WPF项目中是需要Outlook样式的调度程序,还是需要时间表或议程视图来向最终用户展示信息,DevExpressWPF Scheduler都提供了数十个选项,如集成的日程对话框等,因此用户可以快速构建下一个伟大的调度管理器。DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需......
  • 界面控件Telerik UI for WPF R2 2023——拥有全新的Windows 11精简主题
    TelerikUIforWPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。TelerikUIforWPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成VisualStudio工具箱中。Telerik用户期待已久的R22023版本......
  • WPF 入门笔记 - 04 - 数据绑定 - 补充内容:资源基础
    宇宙很大,生活更大,也许以后还有缘相见。--三体......
  • WPF圣经——《WPF揭秘》
    内容简介:WindowsPresentationFoundation(WPF)是.NETFramework3.0的关键组件,是支持下一代视窗应用程序表现层编程的平台,也是微软新发布的Vista操作系统的三大核心开发库之一,主要负责图形显示。本书是针对那些对用户界面开发感兴趣的软件开发人员编写的,易于理解,适合那些.NET的新手,并......
  • WPF入门教程系列二十九 ——DataGrid使用示例MVVM模式(7)
    WPF入门教程系列目录WPF入门教程系列二——Application介绍WPF入门教程系列三——Application介绍(续)WPF入门教程系列四——Dispatcher介绍WPF入门教程系列五——Window介绍WPF入门教程系列十一——依赖属性(一)WPF入门教程系列十五——WPF中的数据绑定(一) 接上文WPF......