protected override void Invoke(object parameter)
        {
            var d = new System.Windows.Forms.FolderBrowserDialog();

            if (DefaultPath.IsNotNull())
            {
                d.SelectedPath = AyFuncIO.Instance.GetDirectory(DefaultPath);
            }
            d.ShowNewFolderButton = true;
            d.Description         = Description;
            if (d.ShowDialog() == Winform.DialogResult.OK)
            {
                string dirPath    = d.SelectedPath;
                string diskNumber = dirPath[0].ToString();
                double canUsage   = AyFuncDisk.Instance.GetHardDiskFreeSpace1(diskNumber); //单位B
                double totalUsage = AyFuncDisk.Instance.GetHardDiskSpace1(diskNumber);     //单位B
                if (MinSpaceUsage.HasValue && MinSpaceUsage.Value > canUsage)
                {
                    apErrorToolTip.IsOpen = true;
                    _tb.Text = "磁盘可用空间不足,至少需要" + AyFuncDisk.Instance.GetFileOrDirectoryFormatedSize(MinSpaceUsage.Value) + "可用空间";
                    AyTime.setTimeout(3000, () =>
                    {
                        apErrorToolTip.IsOpen = false;
                    });
                    return;
                }
                SelectTotalFolderCapacity = totalUsage;
                SelectFolderCapacity      = canUsage;
                var _1 = TotalSizeStringFormat.StringFormat(AyFuncDisk.Instance.GetFileOrDirectoryFormatedSize(totalUsage));
                var _2 = SizeStringFormat.StringFormat(AyFuncDisk.Instance.GetFileOrDirectoryFormatedSize(canUsage));

                if (SizeTarget.IsNotNull())
                {
                    var _11 = SizeTarget as TextBox;
                    if (_11 != null)
                    {
                        _11.Text = _2;
                    }
                    else
                    {
                        var _12 = SizeTarget as TextBlock;
                        if (_12.IsNotNull())
                        {
                            _12.Text = _2;
                        }
                        else
                        {
                            var _13 = SizeTarget as Label;
                            if (_13.IsNotNull())
                            {
                                _13.Content = _2;
                            }
                        }
                    }
                }

                if (TotalSizeTarget.IsNotNull())
                {
                    var _11 = TotalSizeTarget as TextBox;
                    if (_11 != null)
                    {
                        _11.Text = _1;
                    }
                    else
                    {
                        var _12 = TotalSizeTarget as TextBlock;
                        if (_12.IsNotNull())
                        {
                            _12.Text = _1;
                        }
                        else
                        {
                            var _13 = TotalSizeTarget as Label;
                            if (_13.IsNotNull())
                            {
                                _13.Content = _1;
                            }
                        }
                    }
                }


                if (Selected != null)
                {
                    Selected(dirPath, new RoutedEventArgs()
                    {
                    });
                }
                if (SelectedCommand != null)
                {
                    SelectedCommand.Execute(dirPath);
                }
                if (Target.IsNotNull())
                {
                    var _11 = Target as TextBox;
                    if (_11 != null)
                    {
                        _11.Text = dirPath;
                    }
                    else
                    {
                        var _12 = Target as TextBlock;
                        if (_12.IsNotNull())
                        {
                            _12.Text = dirPath;
                        }
                        else
                        {
                            var _13 = Target as Label;
                            if (_13.IsNotNull())
                            {
                                _13.Content = dirPath;
                            }
                        }
                    }
                }
            }
        }