Wpf再次学习,分享给入门的朋友
一、WPF介绍
先说下WPF,她的简称是Windows Presentation Foundation,注意到Presentation这个单词了吧,展现的意思,后面那个是基础,展现基础,WPF是一种展现的基础框架。她运用Direct3d技术,而且实现了界面元素的外观和行为分离,这不是很流行的解耦思想嘛,呵呵,很先进的样子哟。值得一提的是WPF使用的布局语言是Xaml,布局有些类似网页布局,不错的布局方式,比winform布局方便很多。
如果说winform还有这win32和mfc的影子,这次可以算是全新的表现形式了,以往的平台每个控件只能负责它自己的那片区域,但是WPF每个空间可以在屏幕的任何地方进行绘画,华丽的转身也可以做到,感觉用户体验倍升。有兴趣的可以下载个Microsoft Expression Design,专门用来设计非常酷的WPF界面,生成的是Xaml文件。
二、Hello World
先不说别的,先来我们的传统,你懂得。。。
using System;
using System.Windows; namespace Zjh.SayHello
{
class SayHello
{
[STAThread]
public static void Main()
{
Window win = new Window();
win.Title = "Hello World!!";
win.Show(); Application app = new Application();
app.Run();
}
}
}
[STAThread]是单线程套间的意思,Application对象的Run方法是建立一个消息循环,如果你在项目属性中选择控制台启动,你就会明白。第一次看到下面这个类归属树,我很惊讶,很不错,很清晰有没有

对于这个Application对象,只有一个,执行了Run方法后,然后所做的事情就是响应各种事件,也就意味着如果要对
如果你想获取窗口的实际尺寸,使用ActualWidth和ActualHeight这两个只读属性,记住窗口出现在屏幕上,这两个属性才会生效。当你设置宽和高的时候,设置的数值,记得是“逻辑像素”,简单来说的就是相对灵活的像素,会尽可能保证大小与设备无关。SystemParameters.PrimayScreenWidth和SystemParameters.PrimayScreenHeight的宽和高是系统桌面的数据,同样是“逻辑像素”。
WPF看到颜色Color里面是有透明度的数据,可以控制控件的透明度,窗体的透明效果就是这个关键属性变来的。
Brush画刷是WPF里面很重要的一点,Brush本身是一个抽象类,它的类层次图如下:

只有Brush的子类实例才能设定window对象的Background property,在System.Window.Media命名空间里面。这里主要介绍SolidColorBrush类(单色画刷)和GradientBrush类(渐变画刷)。
SolidColorBrush只能设置单一颜色,使用代码如下:
Color clr = Color.FromRgb(, , );
SolidColorBrush brush = new SolidColorBrush(clr);
Background = brush;
等待完善
Wpf再次学习,分享给入门的朋友的更多相关文章
- Opengl_入门学习分享和记录_02_渲染管线(一)顶点着色器&片段着色器
写在前面的废话:今天俺又来了哈哈,真的好棒棒! 今天的内容:之前我们大概描述了,我们自己定义的顶点坐标是如何被加载到GPU之中,并且介绍了顶点缓冲对象VBO用于管理这一块内存.今天开始详细分析它的具体 ...
- Flink 从0到1学习—— 分享四本 Flink 国外的书和二十多篇 Paper 论文
前言 之前也分享了不少自己的文章,但是对于 Flink 来说,还是有不少新入门的朋友,这里给大家分享点 Flink 相关的资料(国外数据 pdf 和流处理相关的 Paper),期望可以帮你更好的理解 ...
- ElasticSearch 5学习(7)——分布式集群学习分享2
前面主要学习了ElasticSearch分布式集群的存储过程中集群.节点和分片的知识(ElasticSearch 5学习(6)--分布式集群学习分享1),下面主要分享应对故障的一些实践. 应对故障 前 ...
- ElasticSearch 5学习(6)——分布式集群学习分享1
在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...
- 从零开始学习jQuery (一) 入门篇
本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些 ...
- 腾讯QQ会员技术团队:人人都可以做深度学习应用:入门篇(下)
四.经典入门demo:识别手写数字(MNIST) 常规的编程入门有"Hello world"程序,而深度学习的入门程序则是MNIST,一个识别28*28像素的图片中的手写数字的程序 ...
- WPF样式(Style)入门
原文:WPF样式(Style)入门 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34802416/article/details/78231 ...
- 前端学习 node 快速入门 系列 —— 初步认识 node
其他章节请看: 前端学习 node 快速入门 系列 初步认识 node node 是什么 node(或者称node.js)是 javaScript(以下简称js) 运行时的一个环境.不是一门语言. 以 ...
- 前端学习 node 快速入门 系列 —— npm
其他章节请看: 前端学习 node 快速入门 系列 npm npm 是什么 npm 是 node 的包管理器,绝大多数 javascript 相关的包都放在 npm 上. 所谓包,就是别人提供出来供他 ...
随机推荐
- centos dhcp网络设置
CentOS 网络设置修改 一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件# vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内 ...
- linux-批量重命名脚本
#!/bin/bash # rename jpg and png count= for img in *.jpg *.png do new=image-$count.${img#*.} mv > ...
- 利用Qt Assistant 定制帮助文档
为了将Qt Assistant定制为自己应用程序的帮助文档浏览器.需要完成以下几步: 一.导入HTML格式的帮助文档 (1)首先,针对自己的应用程序创建HTML格式的帮助文档,请参见<Doxyg ...
- Linux之sed命令详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
- FormData对象
FF4中增加了一个很有意思的对象,FormData.通常我们提交(使用submit button)时,会把form中的所有表格元素的name与value组成一个queryString,提交到后台.这用 ...
- Android常见面试题目
1.Activity 的生命周期 转自:http://kb.cnblogs.com/page/70125/ 多谢楼主分享 首先看一下Android api中所提供的Activity生命周期图(不明白的 ...
- Pro ASP.NET MVC 5 Framework.学习笔记.6.3.MVC的必备工具
每个MVC程序员的军火库中,都有这三个工具:一个依赖注入(DI)容器,一个单元测试框架,一个模拟工具. 1.准备一个示例项目 创建一个ASP.NET MVC Web Application的Empty ...
- restful 注解
@Path @Path 注释被用来描述根资源.子资源方法或子资源的位置.value 值可以包含文本字符.变量或具有定制正则表达式的变量. @GET.@POST.@PUT.@DELETE.@HEAD @ ...
- Hadoop Balance
一.hadoop balance工具的用法: 启动balance: bin/start-balancer.sh -threshold 5 停止balance: bin/stop-balancer.sh ...
- Python升级Yum不能使用解决
1.系统版本 [root@vm10-254-206-95 ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m 2.系统默认 ...