2016-11-22 14 views
0

私はお互いに対話する2つのWPFフォームを持っています。WPF UI Windowsでスクリーンロック(Win + L)から再開した後にフリーズする

私はスクリーンロック(Win + L)を実行して再開すると、UIがフリーズしますが、アプリで通知を受け取ることができます私はそれを閉じることができますが、UIのタイマーや他のコントロールもフリーズします。

私は最初のフォームでHide()関数をコメントしようとしていて、うまくいっていたので、この問題のトリガーは私の最初のフォームが隠れていることが分かりました。私はそれを解決するために私のフォームの最初のインスタンスを2番目に渡そうとしましたが、うまくいっていませんでした。

最初のフォームでHide()を呼び出すと、2番目のフォームがフリーズするのはなぜですか?これに対する解決策はありますか?

注:私のアプリケーションはシングルトンパターンです。

LoginForm.cs(第一形式)

MainWindow.mainWindow.setJSONVisible(getUsers); 
MainWindow.mainWindow.SetLoginForm(this); 
MainWindow.mainWindow.Show(); 

MainForm.cs(第二形式)

private LoginForm login; 
// This is triggered when the window's visibility is changed. 
private void Window_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) 
{ 
     if (IsVisible) 
     { 
      if(_visible!=null) 
        Operations.DisplayUsers(_visible); 
      Cursor = System.Windows.Input.Cursors.Wait; 
      login.Hide(); 
     } 
} 

おかげ

+0

いくつかのコードを提供できますか? – Sefe

+0

@Sefe私はすでに私の投稿を編集しました。ありがとうございました –

答えて

0

私のスプラッシュ画面が閉じられていなかったここで同様の問題を解決、ちょうど隠された、それを閉じるためにコードを変更した後、フリーズを止めました。