WPF 分页控件 WPF 多线程 BackgroundWorker

大家好,好久没有发表一篇像样的博客了,最近的开发实在头疼,很多东西无从下口,需求没完没了,更要命的是公司的开发从来不走正规流程啊,

所以在此希望大家能够多多关注,WPF开发过程中最要名的莫过于UI卡,线程处理不得当,容易出现BUG 下面展示两种开发的实例共享给大家希望对大家有所帮助。

1.WPF 分页控件

  面对数据过多的时候我们就不得不用分页控件,而分页做多的莫过于处理机制,下面讲解一下分页控件;

   首先页面的布局我就不介绍,页面布局采用中间固定,两端可以自由拉伸。这样可以实用界面的需求

   绑定设置,这里我要分析一种方法绑定的方法:

   后台代码:

  /// <summary>
///
/// 总的资源个数
///
/// </summary> public readonly DependencyProperty depTotalCount = DependencyProperty.Register("TotalCount", typeof(int), typeof(UC_Pagging), new UIPropertyMetadata()); public int TotalCount
{ get { return (int)GetValue(depTotalCount); } set
{ SetValue(depTotalCount, value);
} }

  

前台代码:

 <UserControl x:Class="TestVST.UC.UC_Pagging"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Name="Root"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="45" d:DesignWidth="600"> <Label Content="{Binding ElementName=Root,Path=TotalCount}" />

  

DependencyProperty 使用很好用的方法当然使用noticy方法也可以,这样就可以,以后我们就可以赋值属性,属性可以直接加载,很方便的。

2.多线程使用

我们大多数使用的多线程是:Thread 这个是完全可以的 ,但是 多线程往往会有一系列的问题,处理起来没那么容易,开发的运行也很消耗硬件,

大家可以参考一下: http://book.51cto.com/art/201109/292354.htm 当然还有 TheadPool 我是很少用。

建议大家使用 BackGroundWorker 

基本事件
   private BackgroundWorker backgroudwork = new BackgroundWorker();

         public MutiBackGroudWork()
{
InitializeComponent(); backgroudwork.WorkerReportsProgress = true; backgroudwork.WorkerSupportsCancellation = true; backgroudwork.DoWork += new DoWorkEventHandler(backgroudwork_DoWork); backgroudwork.ProgressChanged += new ProgressChangedEventHandler(backgroudwork_ProgressChanged); backgroudwork.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroudwork_RunWorkerCompleted); }

基本内容可以看基本事件,然后最主要的是 DOWORK 事件,当生成新的UC控件后,我们必须学要主线程生成,当然子线程要

通知抓线程生成新的UI控件,生成以后就可以使用,这种方式还是比较方便的,如果点击取消事件那么就会自动的识别 并跳出,

同时也可以监听到子线程内部错误另外一个属性:backgroudwork.CancellationPending 取消事件触发属性值。

backgroudwork.CancelAsync(); 随时可以取消线程。

如果有什么好的设计模式可以给我留言哈~

 
示例源码 

下载

  

WPF 分页控件 WPF 多线程 BackgroundWorker的更多相关文章

  1. 两款不同应用场景的Wpf分页控件

    简介 今天给大家分享两个Wpf分页控件,本篇博客主要介绍一些实现思路和使用方法,具体实现和应用代码请参考文末的Demo链接 废话不多说,先看一下效果~ (两款控件显示效果是一样的) 实现思路 一款控件 ...

  2. WPF管理系统自定义分页控件 - WPF特工队内部资料

    最近做一个演示的管理系统项目,需要用到分页控件,在网上找了很多,依然找到与UI模版匹配的,最后干脆自己写一个. 分页控件分析: 1.分页控件分简单显示和复杂显示两种: 2.包含上一页.下一页以及页码明 ...

  3. WPF 分页控件的实现 -用户控件

    效果图:

  4. WPF 分页控件Pager

    本文为伪原创原文为 NET未来之路的https://www.cnblogs.com/lonelyxmas/p/10641255.html 原文中,页码数量会不断增加,会将下一页的按钮顶出去 修改了一下 ...

  5. 自定义WPF分页控件

    一.分页控件功能说明 实现如上图所示的分页控件,需要实现一下几个功能: 可以设置每页能够展示的最大列数(例如每页8列.每页16列等等). 加载的数组总数量超过设置的每页列数后,需分页展示. 可以直接点 ...

  6. WPF自定义分页控件,样式自定义,简单易用

    WPF自定义分页控件 做了许久伸手党,终于有机会贡献一波,搜索一下WPF分页控件,还是多,但是不太通用,主要就是样式问题,这个WPF很好解决,还有一个就是分页控件嘛,只关心几个数字的变动就行了,把页码 ...

  7. 创建 WPF 工具箱控件

    创建 WPF 工具箱控件 WPF (Windows Presentation Framework) 工具箱控件模板允许您创建 WPF 控件,会自动添加到 工具箱 安装扩展的安装. 本主题演示如何使用模 ...

  8. WPF 实现 DataGrid/ListView 分页控件

    在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源,而且用户体验也很糟 ...

  9. wpf打印控件 实现分页打印控件功能

    因为 要实现打印 wpf  listbox控件  数据特别多 要打印在 几张纸上    找了几天 都没有找到相关的例子 现在 解决了 在这里和大家分享一下 public void print(Fram ...

随机推荐

  1. Linq中Take、TakeWhile、Skip、SkipWhile的比较(转)

    参考文章:http://blog.csdn.net/lxfzgg/article/details/20534281 Take() , , , , , , , , , }; ); //从第一个元素开始, ...

  2. ASP.NET MVC提交到服务器的几种方法

    多年不搞WEB开发了,最近有个小活干干,记录一下学习的心得. 以下为几种脚本向服务器提交的方法: 1. $.ajax({ type: "GET", url: "/Test ...

  3. mysql查询随机几条数据(速度快)

    MySql查询随机几条数据 想到了 Max RAND 这几个函数 用以下2种办法都可以实现查询. 速度还行. 几十万数据左右, 没有什么问题. SELECT * FROM `news` WHERE i ...

  4. 深入了解Angularjs指令中的ngModel

    关于AngularJs的指令的知识学习,请参考... 这次我们接上次没讲完的知识继续. 前端人员在设计表单逻辑时, 在大部分情况下,我们需要为表单定义很多指令, 比如比较两个input内的值是否相同, ...

  5. android 71 ArrayAdapter和SimpleAdapter

    Activity和item: Activity:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an ...

  6. GDB的non-stop模式

    线程调试必杀技 - GDB的non-stop模式   作者:破砂锅 开源的GDB被广泛使用在Linux.OSX.Unix和各种嵌入式系统(例如手机),这次它又带给我们一个惊喜. 多线程调试之痛 调试器 ...

  7. 传输层:TCP UDP SCTP

    总图 虽然协议族被称为“TCP/IP”,但除了TCP和IP这两个主要协议外,还有许多其他成员.图2-1展示了这些协议的概况. 图2-1中同时展示了IPV4和IPV6.从右向左看该图,最右边的5个网络应 ...

  8. 手机端的表单验证和PC端的不同

    1.手机端:由于页面小的局限性,表单验证从上到下依次进行,如果上一个验证不通过,则给出错误提示,代码中return回去,不必进行下一个的校验: 2.PC端:页面范围大,一般是在表单的后面或者下面,提示 ...

  9. jquery mobile入门资料

    由于项目中用到了,就去看了一下视频,然后进一步的找找资源,最后自己再总结一遍!(就是动手操作一遍,不论你感觉多简单,只有动手之后,你才有可能有收获) 当然如果你喜欢看文档可以到官网仔细研究,不过喜欢快 ...

  10. order by跟group by 跟having----------------sum() 求和   avg()求平均   count() 求个数--------------like

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoEAAACdCAIAAABEujUmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWX ...