![]() |
1
15
闪烁的根本原因是每当.hide()窗口
要防止闪烁,请确保您的UI始终连接到表示源。这可以通过以下几种方式实现: 带隐藏TabControl的单窗口
使用一个包含
用于TabControl的ContentTemplate非常简单:
使用带导航的框架
使用
不透明度的多个窗口
您可以使用低透明度使窗口几乎完全不可见,但WPF仍将保持可见树的周围。这将是一个微不足道的更改:只需替换
|
![]() |
2
2
我很好奇为什么你要在一个信息亭中为同一个应用程序使用多个窗口。您可以轻松地将所有控件放在同一个“窗口”上,只需更改面板上的可见性即可显示不同的“屏幕”。这当然会阻止桌面的显示,并允许你做一些整洁的事情,如渐变或滑动动画等。 |
![]() |
4
0
同意关于使用内置导航功能的评论,但是如果此时您已经锁定了您的设计,也许可以考虑设置窗口不透明度的动画?对于传出窗口,不透明度为1->0,对于传入窗口,不透明度为0->1的短100或200毫秒动画可能会解决此问题。在情节提要的已完成事件中处理传出窗口的实际清理。 |
![]() |
5
0
看到WPF如何使用DirectX和图形处理器来卸载屏幕元素的处理,计算机的DirectX和驱动程序是否是最新的? 科丽 |
![]() |
6
0
如果在构造函数中有任何需要很长时间才能导致延迟和闪烁的初始化。您可以尝试使用异步方法,或者将该初始化放到后台线程上,这样它就不会阻止窗口的显示。 引起延迟的一个例子是数据库查询或通过网络请求数据。 一个快速的实验是在一个缓慢的窗口中禁用部分构造函数,以找出是什么导致窗口显示延迟。 |
![]() |
7
0
如前所述,使用帧/选项卡控件可避免在转换期间闪烁。 如果您不想更改您的应用程序,并且想删除Windows7或WindowsVista上的闪烁(桌面之间闪烁),您可以将Windows“视觉效果”设置优化为 'Adjust for best performance' |
![]() |
8
0
下面是一个简单的替代方案,它在我的类似亭子的应用程序中工作,背景为黑色,灵感来自上面的答案。这里我有一个“LanguageWindow”,可以从应用程序的任何位置打开它来更改当前语言。 在languagewindow.xaml中(选中windowstate=minimized):
在languagewindow.xaml.vb中:
Voice! (使用Visual Studio 2015,.NET Framework 4.6、WPF、VB.NET完成) |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |