Windows 10上的空白WPF子窗口
我从
Windows 8.1(64位)升级了Windows 10.在WPF应用程序(由我或其他人开发,如屏幕截图中的todotxt.net)中,子窗口大部分时间都是空白的.
如果我将鼠标移到控件上,其中一些会出现(我猜是因为它们处理WM_MOUSEHOVER消息以重新绘制自己).有时候窗户还可以(约10-20%的发射时间).我通过隐藏和显示控件暂时解决了这个问题(请参阅下面的内容). 在Hyper-V上全新安装Windows 10不会重现错误. 有没有人遇到类似的问题?你是怎么解决的? 它在这里看起来如何(空白子窗口): 鼠标移动后: 我的解决方案 我无法在互联网上找到任何其他解决方案.如果您找到任何其他解决方案,请告诉我. 首先,简单的重新绘制(通过InvalidateVisual())并没有解决问题. 我决定处理ContentRendered事件并隐藏然后显示所有控件.诀窍有效,但它“闻起来”. 在下面的代码中,mainGrid是我子窗口最顶层Grid的名称: XAML: <Window x:Class="MyApp.About" ......... ContentRendered="Window_ContentRendered" ...... > <Grid x:Name="mainGrid" ... > CS: private void Window_ContentRendered(object sender,EventArgs e) { InvalidateVisual(); // Just in case var childCount = VisualTreeHelper.GetChildrenCount(mainGrid); for (int i = 0; i < childCount; ++i) { var child = VisualTreeHelper.GetChild(mainGrid,i) as UIElement; if (child != null) { child.Visibility = Visibility.Hidden; child.Visibility = Visibility.Visible; } } } 解决方法
根据我的观察,这只是Windows 10上的Intel GPU驱动程序问题(Windows 8很好).我们有一个WPF桌面应用程序,其中包含数千个在Windows 7,8,8中运行良好的用户,但是当安装在Windows 10中时,某些Windows 10运行良好,但有些将完全显示此线程解释的内容.
要解决此问题,最简单的方法是更新有问题的计算机的Intel GPU驱动程序.如果你拼命地发现它甚至没有帮助你运行最新的Windows更新并且问题仍然存在,请尝试通过以下方式手动更新驱动程序: >在“设备管理器”中,右键单击图形卡,然后选择“更新驱动程序”. 对于某些机器,例如运行有点新的CPU / GPU(Atom X7)的Microsoft Surface 3(不是表面专业版),更新驱动程序似乎还不可能,我仍然在寻找这种机器的分辨率. 在其他情况下,我的大多数英特尔高清GPU在更新到驱动程序版本10.18.15.4278后解决了这个问题 注1:到目前为止,我还没有看到这个问题出现在其他GPU中,比如Nvidia或ATI.注2:总的来说,我会说,除了最新的英特尔凌动X5 / X7之外,大多数其他英特尔高清显卡应该能够执行驱动程序更新并解决此问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net项目dll内嵌加载
- windows-server-2003 – 运行我自己的专用服务器需要了解什
- windows – 如何使用纯c或linux-shell或dos-commands创建超
- windows-phone-8 – 如何在Windows Phone Silverlight 8.1中
- windows – 将Github遥控器添加到GitKraken
- Windows Server 2016-部署第一台域控制器
- beyond compare 过期解决方法
- 在哪里可以找到Windows任务计划程序退出代码列表?
- 无管理员访问权限禁用Windows共享
- windows-7 – dpinst/DifX不会静默安装签名驱动程序
- windows 2008 R2 出现身份验证错误。 无法连接到
- windows-server-2008 – 在Windows Server 2008上
- 为什么Windows Azure CloudBlobContainer访问偶尔
- windows-8 – Expression Blend中的“星形”测量
- windows下vmware和Hyper-v共存方法
- Windows服务 – Visual Studio 11 BETA中不支持W
- winapi – 在调用LoadLibrary()时默默捕获Window
- msbuild任务读取DLL的AssemblyFileVersion
- Win10.更新
- windows – 通缉:WinAPI调用记录器