2019年6月2日

WPF自定义控件之图片控件 AsyncImage

摘要: AsyncImage 是一个封装完善,使用简便,功能齐全的WPF图片控件,比直接使用Image相对来说更加方便,但它的内部仍然使用Image承载图像,只不过在其基础上进行了一次完善成熟的封装 AsyncImage解决了以下问题1) 异步加载及等待提示2) 缓存3) 支持读取多种形式的图片路径 (Lo 阅读全文

posted @ 2019-06-02 18:38 #山鸡 阅读(3437) 评论(5) 推荐(8) 编辑

2019年1月14日

ASP.NET CORE 学习之原生DI实现批量注册

摘要: 以前使用Autofac的时候,只需一句AsImplementInterfaces()就可以很轻松实现批量注册功能。而asp.net core内置的DI框架没有现成的批量注册方法,考虑到替换Autofac框架过程有些繁琐,于是自己写扩展实现了一个简易的原生DI批量注册功能 Startup.cs扩展 在 阅读全文

posted @ 2019-01-14 13:13 #山鸡 阅读(2614) 评论(3) 推荐(7) 编辑

2019年1月2日

ASP.NET CORE 学习之自定义异常处理

摘要: 为什么异常处理选择中间件? 传统的ASP.NET可以采用异常过滤器的方式处理异常,在ASP.NET CORE中,是以多个中间件连接而成的管道形式处理请求的,不过常用的五大过滤器得以保留,同样可以采用异常过滤器处理异常,但是异常过滤器不能处理MVC中间件以外的异常,为了全局统一考虑,采用中间件处理异常 阅读全文

posted @ 2019-01-02 15:14 #山鸡 阅读(4122) 评论(7) 推荐(8) 编辑

2017年7月27日

WPF转换器之通用转换器

摘要: WPF中的转换器是一个非常好的数据类型转换解决方案,实用和强大, 它的作用是将源数据转换为WPF自身需要的类型,对数据实体没有侵略性,会在项目工程中频繁使用。所以掌握转换器是WPF开发的必备技能。 我刚接触转换器的时候,没有考虑通用性,每次遇到一个转换需求都会去创建一个新的转换器,久而久之,项目中的 阅读全文

posted @ 2017-07-27 13:37 #山鸡 阅读(4540) 评论(4) 推荐(6) 编辑

2016年6月15日

WPF自定义控件之图形解锁控件 ScreenUnLock

摘要: ScreenUnLock 与智能手机上的图案解锁功能一样。通过绘制图形达到解锁或记忆图形的目的。 本人突发奇想,把手机上的图形解锁功能移植到WPF中。也应用到了公司的项目中。 在创建ScreenUnLock之前,先来分析一下图形解锁的实现思路。 1.创建九宫格原点(或更多格子),每个点定义一个坐标值 阅读全文

posted @ 2016-06-15 12:05 #山鸡 阅读(2308) 评论(11) 推荐(17) 编辑

2015年11月25日

WPF自定义控件之列表滑动特效 PowerListBox

摘要: 列表控件是应用程序中常见的控件之一,对其做一些绚丽的视觉特效,可以让软件增色不少。 本人网上看过一个视频,是windows phone 7系统上的一个App的列表滚动效果,效果非常炫 现在在WPF上用ListBox重现此效果 首先我们来分析一下,这种实时滚动的效果是如何实现的,有哪些步骤 1.获取L 阅读全文

posted @ 2015-11-25 00:01 #山鸡 阅读(6052) 评论(6) 推荐(6) 编辑

2015年11月5日

WPF自定义控件之水印文本(密码)框

摘要: 首先来讲讲创建这个控件的初衷,一个让我很郁闷的问题。公司的客户端项目采用WPF+MVVM技术实现,在近期地推客户端的过程中遇到了一个很奇葩的问题:在登录界面点击密码框就会直接闪退,没有任何提示密码框是WPF原生的PasswordBox,这似乎没有什么不对。出现这个情况的一般是在xp系统(ghost的... 阅读全文

posted @ 2015-11-05 00:34 #山鸡 阅读(5077) 评论(4) 推荐(3) 编辑

2015年2月14日

应用程序版本升级之通用更新组件

摘要: 目的很多做应用程序的朋友都做过为应用程序进行版本升级的功能,这个功能本身非常简单,但是各位有没有考虑过这个问题:假如我需要维护多个应用程序的时候(>2)。每个应用程序的升级工作将变得很繁琐。我们需要有一套通用的更新机制,只需要为需要升级的应用程序进行简单的配置,就可以为之进行版本升级控制,而不需要单... 阅读全文

posted @ 2015-02-14 13:34 #山鸡 阅读(2915) 评论(4) 推荐(7) 编辑

2015年2月5日

MVVM模式下实现拖拽

摘要: 在文章开始之前先看一看效果图 我们可以拖拽一个"游戏"给ListBox,并且ListBox也能接受拖拽过来的数据, 但是我们不能拖拽一个"游戏类型"给它。 所以当拖拽开始发生的时候我们必须添加一些限制条件,以防止接受不正确的数据。 Item实体 CS 组实体 CS 给"游戏"实体创建一个模板 XAM 阅读全文

posted @ 2015-02-05 18:02 #山鸡 阅读(3013) 评论(5) 推荐(4) 编辑

2015年1月8日

如何提高程序员的逼格

摘要: 还在整天为怎样才能更像一个IT精英而争吵的吐沫横飞的人们,我只能说你们图样图森破啊,看了下面的话,你应该自惭形秽,其实就是你们这些愚蠢的人类拉低了程序员的整体逼格,呵呵。1.着装一个牛逼的程序员是根本没有时间打理自己外貌的。发型就要像爱因斯坦一样,顶着一脑袋鸡窝,凌乱蓬松美,给人随时能从头发里掏出一... 阅读全文

posted @ 2015-01-08 22:43 #山鸡 阅读(1234) 评论(4) 推荐(2) 编辑

导航