ScreenUnLock 与智能手机上的图案解锁功能一样.通过绘制图形达到解锁或记忆图形的目的. 本人突发奇想,把手机上的图形解锁功能移植到WPF中.也应用到了公司的项目中. 在创建ScreenUnLock之前,先来分析一下图形解锁的实现思路. 1.创建九宫格原点(或更多格子),每个点定义一个坐标值 2.提供图形解锁相关扩展属性和事件,方便调用者定义.比如:点和线的颜色(Color),操作模式(Check|Remember),验证正确的颜色(RightColor), 验证失败的颜色(ErrorC…
首先来介绍一下这个自定义View: (1)这个自定义View的名称叫做 LockView ,继承自View类: (2)这个自定义View实现了应用中常见的九宫格手势解锁功能,可以用于保证应用安全: (3)用户可以自定义控件在不同状态下显示的颜色.什么情况算解锁成功.解锁成功或失败回调的方法等. 接下来介绍一下在这个自定义View中用到的技术点: (1)自定义属性: (2)在 onMeasure() 方法中对控件进行测量,保证九宫格显示在屏幕的中央: (3)在 onDraw() 方法中根据用户的手…
一.什么是控件(Controls) 控件是指对数据和方法的封装.控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能.控件创建过程包括设计.开发.调试(就是所谓的3Ds开发流程,即Design.Develop.Debug)工作, 然后是控件的使用.开发者应该掌握的三项主要内容是:属性.事件和方法. 所有的wpf控件都是继承自Control,根据用途上可以分为四种:内容控件(Content Controls).条目控件(Items Controls).文本…
继之前那个控件,又做了一个原理差不多的控件.这个控件主要模仿百度贴吧WP版帖子浏览界面左下角那个弹出的按钮盘.希望对大家有帮助. 这个控件和之前的也差不多,为了不让大家白看,文章最后发干货. 由于这个控件和之前一篇文章介绍控件基本差不多,所以一些基本的实现点不再赘述,文本将主要介绍与这个控件功能密切相关的部分.开始正题. 剧透一下,博主后来又在WinRT(真不知道该叫什么好了,现在该叫它UWP吗?)中把这个控件实现了一遍,说起来WinRT与WPF还是有很大不同的,这个控件的实现方式也有很多不同之…
本文主要针对WPF新手,高手可以直接忽略,更希望高手们能给出一些更好的实现思路. 前期一个小任务需要实现一个类似含步骤进度条的控件.虽然对于XAML的了解还不是足够深入,还是摸索着做了一个.这篇文章介绍下实现这个控件的步骤,最后会放出代码.还请高手们给出更好的思路.同时也希望这里的思路能给同道中人一些帮助.话不多说,开始正题. 实现中的一些代码采用了网上现有的方案,代码中通过注释标记了来源,再次对代码作者一并表示感谢. 首先放一张最终效果图. 节点可以被点击 控件会根据绑定的集合数据生成一系列节…
实现效果 带定时器的轮播图 using引用 using System.Windows; using System.Windows.Controls; using System.Windows.Markup; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Threading; 自定义Control /// <summary> /// 轮播控件 /// </summ…
在此之前,一直在想九宫格的实现方法,经过一个上午的初步研究终于完成了一个简单的N*N的宫格解锁组件,代码略显粗糙,仅仅做到简单的实现,界面等后期在做优化,纯粹是学习的目的,在算法上有点缺陷,如果有错误或者更好的方法,欢迎提出,相互学习.先来看一下预览图 九宫格效果展示 N=3 手指抬起 N=4 手指没有抬起 其他的废话不多说了,直接开始吧..... 实现步骤 设置声明属性attrs.xml文件 创建SeniorPoint.java文件 创建View并重写其中的几个重要方法 设置触摸事件,并进行数…
用户控件,WPF中是继承自UserControl的控件,我们可以在里面融合我们的业务逻辑. 示例:(一个厌恶选择的用户控件) 后端: using iMicClassBase; using iMicClassBase.BaseControl; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.W…
扩展控件,顾名思义就是对已有的控件进行扩展,一般继承于已有的原生控件,不排除继承于自定义的控件,不过这样做意义不大,因为既然都自定义了,为什么不一步到位呢,有些不同的需求也可以通过此来完成,不过类似于类继承了.扩展控件本质也是类的继承.下面我们通过两个例子说明 一.自定义MButton 控件外观控制的属性,如圆角.鼠标悬浮前景色背景色.是否开启动画(鼠标悬停时小图标转一圈,移开又转回去).鼠标按下颜色等: 字体图标相关属性,如字符值.字体图标大小.字体图标间距等. 首先重写要修改的属性和添加要扩…
话外篇: 要写一个圆形控件,用Clip,重写模板,去除样式引用圆形图片可以有这三种方式. 开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不能满足我们的需求,那么我们该怎么办呢?----自定义样式与模板. 一.样式 在WPF中我们可以使用Style来设置控件的某些属性值,并使该设置影响到指定范围内的所有该类控件或影响指定的某一控件,比如说我们想将窗口中的所有按钮都保持某一种风格,那么我们可以设置一个Style,而不必分别设置每个按钮的风格.Style是作为一种资源被保…