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))); }
private void ProcessListBox_MouseDown(object sender, MouseButtonEventArgs e) { ProcessListBox.UnselectAll(); }
private void ProcessList_MouseDown(object sender, MouseEventArgs e) { ProcessListBox.SelectedIndex = ProcessListBox.IndexFromPoint(e.X, e.Y); }