/// <summary>
        /// 操作等待窗口
        /// </summary>
        /// <param name="routine">操作调用</param>
        /// <param name="title">提示</param>
        /// <param name="canCancel">是否用户可以取消</param>
        /// <param name="IsIndeterminate">是否为连续模式</param>
        /// <param name="refreshRate">刷新频率</param>
        /// <param name="threadParameter">运行参数(线程自己解析)</param>
        public dlgPorcessWaiting(ProcessRoutineDelegate routine, string title, bool canCancel, bool IsIndeterminate = false, double refreshRate = 1.0, object threadParameter = null)
        {
            InitializeComponent();
            this.Title                    = title;
            processRoutine                = routine;
            this.threadParameter          = threadParameter;
            processingBar.IsIndeterminate = IsIndeterminate;
            this.refreshRate              = refreshRate;

            if (!canCancel)
            {
                btnCancel.Visibility = System.Windows.Visibility.Collapsed;
            }
            Closing += new System.ComponentModel.CancelEventHandler(dlgPorcessWaiting_Closing);
        }
        /// <summary>
        /// 操作等待窗口
        /// </summary>
        /// <param name="routine">操作调用</param>
        /// <param name="title">提示</param>
        /// <param name="canCancel">是否用户可以取消</param>
        /// <param name="IsIndeterminate">是否为连续模式</param>
        /// <param name="parameter">运行参数(线程自己解析)</param>
        public PorcessWaitWindow(ProcessRoutineDelegate routine, string title, bool canCancel, bool IsIndeterminate = false, object parameter = null)
        {
            InitializeComponent();
            promptTitle.Text     = title;
            processRoutine       = routine;
            this.threadParameter = new Common.WaitProcessParameter()
            {
                threadParameter = parameter
            };
            processingBar.IsIndeterminate = IsIndeterminate;

            if (!canCancel)
            {
                btnCancel.Visibility = System.Windows.Visibility.Collapsed;
            }
            Closing += new System.ComponentModel.CancelEventHandler(dlgPorcessWaiting_Closing);

            rootGrid.DataContext = threadParameter;
        }