Пример #1
0
        private void Check_Click(object sender, RoutedEventArgs e)
        {
            var path = this.pathTextBox.Text;

            if (!Directory.Exists(this.pathTextBox.Text))
            {
                MessageBox.Show("当前目录不存在, 请检查后重试");
                return;
            }

            var dir          = new DirectoryInfo(path);
            var files        = dir.GetFiles("*.*", this.searchOption.IsChecked == true ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);
            var programFiles = files.Where(u => ".dll".Equals(u.Extension, StringComparison.InvariantCultureIgnoreCase) || ".exe".Equals(u.Extension, StringComparison.InvariantCultureIgnoreCase)).ToArray();

            if (programFiles.Length == 0)
            {
                MessageBox.Show("当前目录没有任何程序文件");
            }

            this._fileTargetItemsSource.Clear();
            this.checkFileNum.Text = "0";

            Task.Factory.StartNew(new Action(() =>
            {
                int i = 0;
                foreach (var file in programFiles)
                {
                    var fileTarget      = PlatformTargetHelper.GetPlatformTarget(file.FullName);
                    fileTarget.FileName = file.FullName.Replace(path + "\\", "");

                    this.Dispatcher.Invoke(new Action(() =>
                    {
                        this._fileTargetItemsSource.Add(fileTarget);
                        this.checkFileNum.Text = (++i).ToString();

                        if (this._scrollIsEnd)
                        {
                            this.sourceDataGrid.ScrollIntoView(fileTarget);
                        }
                    }));
                }
            }));
        }
Пример #2
0
 private void vsDumpbinTextBox_TextChanged(object sender, TextChangedEventArgs e)
 {
     PlatformTargetHelper.InitVsDumpbinPath(vsDumpbinTextBox.Text);
 }