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
{
    ///


    /// Interaction logic for Win_Filter.xaml
    ///

    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;
        }

    }
}
 

你可能感兴趣的:(WPF,C#)