diff --git a/Code/CSRender/CSRender/MainWindow.xaml b/Code/CSRender/CSRender/MainWindow.xaml index bb79319bd17d500c69b7c76fab75bdc81b638a58..dd5197f6ddf18ae4589869a7942dc6ebaaa2578a 100644 --- a/Code/CSRender/CSRender/MainWindow.xaml +++ b/Code/CSRender/CSRender/MainWindow.xaml @@ -7,7 +7,7 @@ xmlns:sys="clr-namespace:System;assembly=mscorlib" mc:Ignorable="d" Title="CSRender" Height="450" Width="600" Background="#FFF3F4F4" MinWidth="600" MinHeight="300"> - + diff --git a/Code/CSRender/CSRender/MainWindow.xaml.cs b/Code/CSRender/CSRender/MainWindow.xaml.cs index 74fa87171ef1842049c62e38c66304aae762bc64..3838a1799816240053e625cb1c17d9abef995000 100644 --- a/Code/CSRender/CSRender/MainWindow.xaml.cs +++ b/Code/CSRender/CSRender/MainWindow.xaml.cs @@ -17,6 +17,7 @@ using System.Text.RegularExpressions; using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; +using System.Windows.Threading; namespace CSRender { @@ -152,6 +153,7 @@ namespace CSRender //TIFF画像の生成 ResultConsole.Text += "\r\n"; ResultConsole.Text += " 対象ファイルをTIFF画像に変換中\r\n"; + DoEvents(); //必要に応じてページ引数を指定 bool pageFlag = false; @@ -175,6 +177,7 @@ namespace CSRender OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, targetBox.Text, targetTIFFPath); ResultConsole.Text += " リファレンスファイルをTIFF画像に変換中\r\n"; + DoEvents(); //リファレンスフォルダ string referenceTIFFPath = System.IO.Path.Combine(workBox.Text, "work", "referenceTIFF"); @@ -189,6 +192,7 @@ namespace CSRender OutputTIFF.runCSRender(ResolutionBox.Text, "TIFF", pageFlag, selectedPage, referenceBox.Text, referenceTIFFPath); ResultConsole.Text += "\r\n\r\n"; + DoEvents(); //PureVerifyの実行 //string workDir = CompareTIFF.runPureVerify(targetBox.Text, referenceBox.Text, workBox.Text); @@ -229,6 +233,7 @@ namespace CSRender { ResultConsole.Text += tranceString + "\r\n"; ResultConsole.ScrollToEnd(); + DoEvents(); } } logString.Close(); @@ -242,6 +247,7 @@ namespace CSRender ResultConsole.Text += "<変換開始>\r\n"; ResultConsole.Text += " PDFを" + FileSelect.Text + "に変換します\r\n"; ResultConsole.Text += "\r\n"; + DoEvents(); //必要に応じてページ引数を指定 bool pageFlag = false; @@ -288,6 +294,19 @@ namespace CSRender Properties.Settings.Default.formatSetting = FileSelect.Text; Properties.Settings.Default.Save(); } - + + private void DoEvents() + { + DispatcherFrame frame = new DispatcherFrame(); + var callback = new DispatcherOperationCallback(ExitFrames); + Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, callback, frame); + Dispatcher.PushFrame(frame); + } + + private object ExitFrames(object obj) + { + ((DispatcherFrame)obj).Continue = false; + return null; + } } }