VS里DialogResult 表示窗口关闭后返回一个窗口的结果。在程序中一旦设置DialogResult的值,接下来就会自动执行close()的方法,所以没有必要写this.close(),并且也没有必要设定closing和closed事件,其执行顺序为DialogResult=true/false->closing事件->closed事件而在调用对话框的主程序中建议如下写法:
	
	         Win_Filter win = new Win_Filter();
	            win.ShowDialog();
	            result = (bool)win.DialogResult;
	            if (result==false)
	            {
	                Shared_Data.Sub_Info_VM.bDel_Open = bDel_Open;
	                Shared_Data.Sub_Info_VM.bDel_Limit = bDel_Limit;
	            }
	//dialog
	using System;
	using System.Collections.Generic;
	using System.Linq;
	using System.Text;
	using System.Threading.Tasks;
	using System.Windows;
	using System.Windows.Controls;
	using System.Windows.Data;
	using System.Windows.Documents;
	using System.Windows.Input;
	using System.Windows.Media;
	using System.Windows.Media.Imaging;
	using System.Windows.Shapes;
	namespace JPT_Tester
	{
	      /// <summary>
	      /// Interaction logic for Win_Filter.xaml
	      /// </summary>
	      public partial class Win_Filter : Window
	      {
	          public Win_Filter()
	          {
	            InitializeComponent();
	            this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
	          }
	          private void Button_Click_1(object sender, RoutedEventArgs e)
	          {
	              this.DialogResult = true;
	          }
	          private void Window_Loaded_1(object sender, RoutedEventArgs e)
	          {
	              this.DataContext = Shared_Data.Sub_Info_VM;
CopyRight@2008-2024 中国证券新闻 All Right Reserved
工信备案号:备案号京ICP(备)15095275
中国证券新闻版权所有违者必究