![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WPF
文章平均质量分 86
魏军强
一直在路上,可以慢,但不要停
展开
-
WPF中的窗口的生命周期
WPF中所有窗口的基类型都是System.Windows.Window。Window通常用于SDI窗口和对话框。Window在应用程序中除了一个设计用于托管顶级内容的控件外,就别无他物了。典型的,可以混合使用标记和代码来定义一个窗口。代码如下:在xaml页:<Window x:Class="WPFApplication1.MainWindow" xmlns="http://schem转载 2016-03-06 21:37:57 · 1165 阅读 · 0 评论 -
WPF中绘画和动画(四)
接下来我们看一个VisualBrush的例子。为了简单起见,目标控件是一个Button,实际工作中换成复杂控件的效果也一样。程序的XAML代码如下:<Window x:Class="WpfApplication1.Window2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns转载 2017-01-10 09:28:01 · 360 阅读 · 0 评论 -
WPF中绘画和动画(三)
1. 矩形矩形由笔触(Stroke,即边线)和填充(Fill)构成。Stroke属性的设置于Line一样,Fill属性的数据类型是Brush。Brush是个抽象类,所以我们不可能拿一个Brush类的实例为Fill属性赋值而只能用Brush派生类的实例进行赋值。WPF的绘画系统包含非常丰富的Brush类型,常用的有:(1) SolidColorBrush:实心画刷。在XAML中可以使用颜色名转载 2017-01-10 09:22:17 · 632 阅读 · 0 评论 -
WPF中绘画和动画(二)
一、以下一一讲解:1. 直线直线是最简单的图形。使用X1、Y1 两个属性可以设置它的起点坐标,X2、Y2俩个属性则用来设置其终点坐标。控制起点/终点坐标就可以实现平行、交错等效果。Stroke(笔触)属性的数据类型是Brush(画刷),凡是Brush的派生类均可用于给这个属性赋值。因为WPF提供了多种渐变色画刷,所以画直线也可以画出渐变效果。同时,Line的一些属性还帮助我们画出虚线以及控制线段终点转载 2017-01-09 20:49:38 · 409 阅读 · 0 评论 -
WPF中绘画和动画 (一)
一、WPF的基本图形包括以下几个(它们都是Shape类的派生类):(1) Line:直线段,可以设置其笔触(Stroke);(2) Rectangle:矩形,既有笔触,又有填充(Fill);(3) Ellipse:椭圆,长、宽相等的椭圆即为正圆,既有笔触又有填充;(4) Polygon:多边形,有有多条直线段围成的闭合区域,既有笔触又有填充。(5) Polyline:折线(不闭合转载 2017-01-09 20:39:58 · 409 阅读 · 0 评论 -
WPF中的属性- CLR属性和依赖属性
一、CLR属性 CLR(Common Language Running)属性,本质是将一个类中的字段进行封装,以达到控制字段获取以及赋值的目的。 如下的Student类,作为一个学生,年龄显然不能为负数如果想要对age这一字段进行限制,我们可以采用CLR属性进行如下改写,public class Student { public int id; publi转载 2017-01-13 14:06:33 · 582 阅读 · 0 评论 -
WPF 利用键盘钩子来捕获键盘,做一些不为人知的事情
本文为转载,原创地址为澈澈键盘钩子是一种可以监控键盘操作的指令。 看到这句话是不是觉得其实键盘钩子可以做很多事情.场景当你的程序需要一个全局的快捷键时,可以考虑使用键盘钩子,如大家常用qq的截图快捷键,那么在WPF里怎么去实现呢?当然不是直接在Window窗体里面去注册KeyDown、KeyUp,这样只有在程序是焦点的情况下才能触发,我们这里要做的更为强大,即在非焦点下去获取到键盘的事件(要偷偷记转载 2016-05-28 15:35:50 · 3618 阅读 · 0 评论 -
WPF:如何在工作线程中更新窗体的UI元素(Dispatcher机制)
首先声明,这篇文章完全转载自陈希章大牛的文章,自己转载一遍,当笔记看。原作地址 这是一个普遍的问题:如果我们再程序中使用了多线程技术,而工作线程(后台线程)如果需要更新界面上的元素(例如进度条等),就会有一个线程安全性问题,因为进度条是由主线程创建出来的。关于这一点,大致上看,WPF的机制与Windows Forms是没有差别的。我们在Windows Forms中需要按照下面的方式更新窗体元素。转载 2016-03-10 19:53:33 · 10311 阅读 · 0 评论 -
C#或者WPF中让某个窗体置顶
前记:在工作中有个需求,要求不管到那个界面,我必须让一个浮动条(其实是个窗体)置顶。我用wpf,因为有之前有好几个界面已经设置成topmost了,所以在这几个界面,我的浮动条会被遮挡。为了始终让浮动条在最顶端,我写了个简单的工具类。在前面已经设置成topmost的窗体的Window_Loaded中调用这个工具类里的方法实现了始终让浮动条置顶。 工具类代码如下:public class TopMos原创 2016-03-31 20:45:37 · 12115 阅读 · 1 评论 -
WPF 作出窗体旋转动画
这里只是做出和窗体旋转效果一样的效果,并不是真的窗体旋转,原理是,将窗体设置成无边框透明,在窗体中放置一个canvas,然后启动的时候,给canvas设置旋转动画,效果如同窗体旋转一样。 代码:<Window x:Class="QuickAnswer.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr原创 2017-02-16 15:22:36 · 3304 阅读 · 1 评论