c# - 在 MVVM 中将 Window 设置为隐藏后捕获屏幕
问题描述
在将窗口变量设置为隐藏并触发 onPropertyChanged() 后,我试图捕获屏幕。为什么我还要录制自己的节目?
_VisibilityWindow = false;
OnPropertyChanged("VisibilityWindow");
Screenshot.captureAll();
_VisibilityWindow = true;
OnPropertyChanged("VisibilityWindow");
解决方案
属性更改后,UI 没有机会更新。您可以等到应用程序完成渲染,Dispatcher
而是使用:
_VisibilityWindow = false;
OnPropertyChanged("VisibilityWindow");
System.Windows.Application.Current?.Dispatcher?.Invoke(() =>
{
Screenshot.captureAll();
_VisibilityWindow = true;
OnPropertyChanged("VisibilityWindow");
}, DispatcherPriority.ApplicationIdle);
推荐阅读
- automation - SAP4HANA UI 自动化。如何?
- docker - docker-compose:以特定用户身份创建命名卷
- google-app-engine - 如果我获得青铜级支持,我可以请求升级 TLS 版本吗?我该怎么做?
- azure-data-explorer - Kusto KQL 查询以扩展多个实体
- sql - 在单个查询中显示来自 emp 和 dept 表的统计信息
- phpstorm - PhpStorm 冻结、索引缓慢、加载文件夹
- react-native - 使用 React-Native 实现类似 Instagram 的按钮,
- xamarin.android - Visualstudio appcenter 找不到密钥库文件 Xamarin.android
- powershell - OneDrive FB 使用 Microsoft Graph API Powershell 创建文件夹
- python - 在python中验证分数