如果应用程序长时间运行,C#透明窗口会停止显示控件

时间:2017-06-22 20:40:25

标签: c# .net wpf

我正在尝试解决我的应用程序问题。我很难复制这个,因为我对可能存在的问题感到迷茫,并且在调试方面没有成功。

应用 我的应用程序是一个托盘应用程序(MVVM)。以下是执行的步骤。

  1. App Start
  2. 主窗口(透明创建,ResizeMode = NoResize,ShowInTaskbar = False,topmost = true)
  3. 事件发生
  4. ViewModel Created
  5. ViewModel已添加到ObservableCollection
  6. NotifyPropertyChanged通知主窗口更新其堆栈面板
  7. Stack Panel将ViewModel显示为View(继承自DockPanel)
  8. 计时器已用完
  9. 从ObservableCollection中删除ViewModel
  10. 问题: 此应用程序将正常工作,在需要时显示通知。但是,在长时间运行(有时是几天或几周)之后,它可能会停止工作,因为不会显示任何通知。

    调查:

    • 我从日志中发现的是我提到的所有步骤 上面(1-9)正在工作(没有例外,似乎是成功的,价值是正确的。)
    • 您可以尝试最小化,然后最大化或尝试将其带到前面 通过在任务管理器中播放窗口。但是,这并不能解决问题。
    • 尝试关闭所有应用程序然后触发事件。通知不会显示。重新启动应用程序,通知仍然无法显示。
    • 重新启动应用程序无法解决问题。但是,如果您注销并登录,则可以解决问题。

    我试图提供尽可能多的信息,如果你需要更多我可以尝试提供它。我很遗憾我还能做些什么来调试这个问题。

    其他信息:

    • 使用MahApps的MetroWindow创建MainWindow。
    • 计时器来自System.Timers
    • 当您到达通知未显示的状态时,您可以将应用程序作为调试运行(在visual studio中),但它仍然无法运行。我介绍了代码,一切似乎都没问题。

0 个答案:

没有答案