こんにちは。
Windows10でWPFのアプリケーションを開発しています。
Visual Studio 2015 Communityを使っています。
###前提・実現したいこと
Windowをもつクラスから、ロジックのクラスを参照して、ロジックのクラスでasyncで処理をします。
終了後に、Windowをもつクラスを終了して閉じたいです。
どのように書けばよいでしょう?
現在は、Windowのクラスのプロパティを参照してみましたが、Close();に失敗しています。
###疑問点
そもそもこういうときは、クラスを分ける意味があるでしょうか?
クラスを分けた場合、ロジッククラスとウィンドウクラスでなにを受け持つべきでしょう?
具体的に、Close()処理はウィンドウクラスで行うとしたら、ロジックのasync処理の終了はなにで伝えるものですか?
###発生している問題
Close();に失敗しています。
###該当のソースコード
C#
1using System; 2using System.IO; 3using System.Text; 4using System.Windows; 5 6namespace windowManager { 7 public class MainWindow : Window { 8 static bool IsCloseOk = false; 9 public bool IsCloseOK { 10 get { 11 return IsCloseOk; 12 } 13 14 set { 15 IsCloseOk = value; 16 if (IsCloseOk) 17 Close();<-ここにはくるが閉じない。 18 } 19 } 20 21 22 public MainWindow() { 23 InitializeComponent(); 24 25 } 26 27 private void Window_Loaded(object sender, RoutedEventArgs e) { 28 var logical = new logical(); 29 logical.Operation(); 30 } 31 }
C#
1namespace logical { 2 public class logical { 3 public async void Operation() { 4 //処理 5 var response = await operationAsync(); 6 var resultString = await response.Content.ReadAsStringAsync(); 7 8 MainWindow mw = new MainWindow(); 9 mw.IsCloseOK = true; 10 11 }
###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2015
Version 14.0.25424.00 Update 3
Microsoft .NET Framework
Version 4.6.01038
インストールしているバージョン:Community
Visual C# 2015 00322-20000-00000-AA575
Microsoft Visual C# 2015
です。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/01 14:09