WPFで非同期にProcessの終了を取りたいです。概要、以下のようなコードです。
Formではなく、WPFだと、上手く動かないように思います。Dispatcherとかが関係しているのでしょうか。不勉強なところ、大変恐縮ですが、ご教示頂けますと幸いです。
//some_project.xaml <UserControl:ToggleSwitch x:Name="SomeControl" Checked="ToggleSwitch_Checked"/> <MediaElement x:Name="LoadingIcon"/> //some_project.xaml.cs private void LoadingStart(){ //LoadingIconの開始処理 } private void LoadingFinish(){ //LoadingIconの終了処理 } private void ToggleSwitch_Checked(object sender, RoutedEventArgs e){ var process = new Process() Directory.SetCurrentDirectory(directory_path); process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process.StartInfo.FileName = "cmd"; process.StartInfo.Arguments = string.Format("/c \"{0} < {1}\"", @"test.exe", test_input_file_path); process.EnableRaisingEvents = true; process.Exited += (sender, e) => { SomeControl.IsChecked = false; }; process.Start(); }

回答3件
あなたの回答
tips
プレビュー