コード例 #1
0
        Task AsyncProgress()
        {
            //return Task.Run(() => { Thread.Sleep(1000 * 2); });
            Process p = new Process()
            {
                project = project,
            };

            p.ProgressUpdate += (s, e) => Dispatcher.Invoke((Action) delegate()
            {
                // update UI
                ProcessListBox.Items.Add(e);
                ProcessListBox.SelectedIndex = ProcessListBox.Items.Count - 1;
                ProcessListBox.ScrollIntoView(ProcessListBox.SelectedItem);

                LB_ProcessCount.Content = ProcessListBox.Items.Count - 1;

                Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background,
                                                      new Action(delegate { }));
            });

            string TimeStr = DateTime.Now.ToString("yyyyMMdd-HHmmss");

            stepControl.Report_DamagedFilePathame    = Util.LogFileCreate(project.sourceRootPathname + @"\FileDamagedList-" + TimeStr + ".txt");
            stepControl.Report_IgnoredFilePathame    = Util.LogFileCreate(project.sourceRootPathname + @"\FileIgnoredList-" + TimeStr + ".txt");
            stepControl.Report_CopyFailedFilePathame = Util.LogFileCreate(project.sourceRootPathname + @"\FileCopyFailedList-" + TimeStr + ".txt");

            return(Task.Run(() => p.Run(stepControl)));
        }
コード例 #2
0
 private void ProcessListBox_MouseDown(object sender, MouseButtonEventArgs e)
 {
     ProcessListBox.UnselectAll();
 }
コード例 #3
0
 private void ProcessList_MouseDown(object sender, MouseEventArgs e)
 {
     ProcessListBox.SelectedIndex = ProcessListBox.IndexFromPoint(e.X, e.Y);
 }