我在将Window Variable设置为hidden并触发onPropertyChanged()后尝试捕获屏幕。为什么我还要录制我自己的程序?
_VisibilityWindow = false;
OnPropertyChanged("VisibilityWindow");
Screenshot.captureAll();
_VisibilityWindow = true;
OnPropertyChanged("VisibilityWindow");
答案 0 :(得分:1)
在属性更改后,UI没有机会更新。
您可以使用Dispatcher
代替应用程序完成渲染:
_VisibilityWindow = false;
OnPropertyChanged("VisibilityWindow");
System.Windows.Application.Current?.Dispatcher?.Invoke(() =>
{
Screenshot.captureAll();
_VisibilityWindow = true;
OnPropertyChanged("VisibilityWindow");
}, DispatcherPriority.ApplicationIdle);