WPF 如何缓解大量控件加载缓慢的问题

最近有一个项目需要加载大量的控件,导致系统出现卡顿问题,经过几天的努力,终于搞定了,写一下备忘。

解决方案是首次加载时只显示可见区域控件,之后使用辅助线程进行分批加载,将分批加载的线程优先级别设置为空闲时进行,这样在用户操作时就不会出现因加载线程导致的卡顿现象了。

1 Dispatcher.Invoke(new Action(()=>{ 2 //分批加载控件的方法 3 }),System.Windows.Threading.DispatcherPriority.ApplicationIdle);

特此备忘。

时间: 2024-08-06 03:10:18

WPF 如何缓解大量控件加载缓慢的问题的相关文章

虚拟列表控件---加载大数据行

虚拟列表控件---加载大数据行 平常所用到的列ListView/ListCtrl控件,都是只有行至几百行数据,直至今日,在项目中遇到了上10W量级数据条,终于感觉到普通加载的艰辛,遂到网上乱找一通,发现大同小异,转载了这篇比较详细的,后面代码所用到的m_Items,为存放的列表的数据结构列表, 这篇文章虽详尽,改日做一个DEMO, Demo 一.什么是虚拟列表控件 虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件.. 二.为什么使用虚拟列表控件 我们知道,通常使用列表控件CListC

asp.net:easyui tree控件加载url数据

easyui tree控件加载url数据 建表 CREATE TABLE [dbo].[OrganizationStructure]( [Id] [int] IDENTITY(1,1) NOT NULL, [OwnerId] [int] NOT NULL, [Name] [nvarchar](100) NOT NULL, [Type] [int] NULL, CONSTRAINT [PK_OrganizationStructure] PRIMARY KEY CLUSTERED ( [Name]

C#窗体加载和控件加载不同步导致控件闪烁

窗体加载和控件加载不同步导致的控件闪烁现象:// 代码块加在父窗体中的任意位置,解决窗体加载和控件加载不同步导致的控件闪烁问题        protected override CreateParams CreateParams        {            get            {                CreateParams cp = base.CreateParams;                cp.ExStyle |= 0x02000000;     

[转]Delphi 中 image 控件加载bmp、JPG、GIF、PNG等图片的办法

procedure TForm1.Button1Click(Sender: TObject); var jpg: TJPEGImage; // 要use Jpeg单元 begin // 显示jpg大图片的方式 jpg := TJPEGImage.Create; jpg.LoadFromFile(getcurrentdir() + '\pic.jpg'); Image1.Picture.Bitmap.Assign(jpg); // 因为 img 控件是基于bmp的 jpg.Free; end; p

WP8.1开发中ListView控件加载图列表的简单使用(1)

我也是刚接触WP编程没几个月,就是在这段时间一直闲着没事,然后又比较喜欢WP这款系统,就学习了WP这方面的开发言语,自学是很困难的,掌握这方面的资料不多,很初级,就是自己在网上找资料学习过程中,看到别人的分享让我学到了很多,所以我也想分享一下自己的经验,另一方面也希望和大家交流交流,并得到大家的指点. 好了,不多说了,现在开始进入正题吧: ListView这个控件用的很多,而且功能很强大,在我练习开发两个小软件的之前,我以为很简单没什么内容,谁知在开发过程中,才知道它的功能之多,现在就简单说其中

UIWebView --- 内置的浏览器控件 加载网页

描述:UIWebVIew 是IOS一个常见的控件,属内置的浏览器控件,可以用来加载网页,或是打开文件等等. 方法一: 代码实现:(运行程序时,直接显示链接的内容) #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURL * url=[NSURL URLWithSt

解决Uploadify 3.2上传控件加载导致的GET 404 Not Found问题

http://www.uploadify.com/forum/#/discussion/7329/uploadify-v3-bug-unecessary-request-when-there-is-no-button_image_url-set-/p1 原来问题的症结在于SWFUpload,这个是Uploadify调用供支持Flash上传用的,但是其没有对button_image_url进行判断,导致如果button_image_url为空的话就默认请求了当前根路径,修改的方法也比较简单,加个判

MFC Picture控件加载图片

CStatic *pPic = (CStatic*)GetDlgItem(IDC_PICTURE); CBitmap bitmap; bitmap.LoadBitmapW(IDB_BITMAP2); pPic->SetBitmap((HBITMAP)bitmap.GetSafeHandle());//在Picture的Type调为Bitmap 像素修改: CStatic *pPic = (CStatic*)GetDlgItem(IDC_PICTURE); CBitmap bitmap; bitm

Winform下pictruebox控件加载网络图片

1 string s = "http://www.google.com/intl/zh-CN_ALL/images/logo.gif"; 2 System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(s); 3 System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse