C# 最小化时重新绘制WPF UI

C# 最小化时重新绘制WPF UI,c#,wpf,C#,Wpf,我有一个C#WPF应用程序,它是使用开放式广播软件捕获的软件。当应用程序处于前台甚至被另一个应用程序隐藏时,它工作正常。然而,如果它实际上是最小化的,那么它将进行stps更新。这是有道理的,因为通常情况下,如果没有人可以看到它,为什么需要重新绘制它,但在这种情况下不是这样的。是否有可能以某种方式强制用户界面重新绘制?每次需要更新UI时都可以调用某个方法,因为我需要更新/重画UI的代码如下(简化): 编辑:“更新”在这里可能是一个误导性的术语。“重画”可能更好。因此,如果即使表单在另一个表单后面,

我有一个C#WPF应用程序,它是使用开放式广播软件捕获的软件。当应用程序处于前台甚至被另一个应用程序隐藏时,它工作正常。然而,如果它实际上是最小化的,那么它将进行stps更新。这是有道理的,因为通常情况下,如果没有人可以看到它,为什么需要重新绘制它,但在这种情况下不是这样的。是否有可能以某种方式强制用户界面重新绘制?每次需要更新UI时都可以调用某个方法,因为我需要更新/重画UI的代码如下(简化):


编辑:“更新”在这里可能是一个误导性的术语。“重画”可能更好。

因此,如果即使表单在另一个表单后面,它也能工作,那么不要让用户
最小化表单。设置yourWindow.ResizeMode=ResizeMode.NoResize

这需要在应用程序最小化时启动后台线程。为什么不尝试通过数据绑定来实现呢?另外,你能告诉我你到底想更新什么吗?控件及其属性?“这很有意义,因为通常情况下,如果没有人可以看到它,为什么需要更新它,但在这种情况下不是这样。”好的,你能告诉我为什么要在UI最小化时更新它吗?然后我们可以想出更好的解决方案。@Dilshod如前所述,这是使用开放式广播软件捕获的软件。您尝试过类似的方法吗?someRectangle.Dispatcher.BeginInvoke(新操作(()=>{someImage.Fill=new SolidColorBrush(…);}));
private void displaySomething(int something)
{
    someRectangle.Fill = new SolidColorBrush(...);
    // Redraw UI here
}