一、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再次学习,分享给入门的朋友的更多相关文章

  1. Opengl_入门学习分享和记录_02_渲染管线(一)顶点着色器&片段着色器

    写在前面的废话:今天俺又来了哈哈,真的好棒棒! 今天的内容:之前我们大概描述了,我们自己定义的顶点坐标是如何被加载到GPU之中,并且介绍了顶点缓冲对象VBO用于管理这一块内存.今天开始详细分析它的具体 ...

  2. Flink 从0到1学习—— 分享四本 Flink 国外的书和二十多篇 Paper 论文

    前言 之前也分享了不少自己的文章,但是对于 Flink 来说,还是有不少新入门的朋友,这里给大家分享点 Flink 相关的资料(国外数据 pdf 和流处理相关的 Paper),期望可以帮你更好的理解 ...

  3. ElasticSearch 5学习(7)——分布式集群学习分享2

    前面主要学习了ElasticSearch分布式集群的存储过程中集群.节点和分片的知识(ElasticSearch 5学习(6)--分布式集群学习分享1),下面主要分享应对故障的一些实践. 应对故障 前 ...

  4. ElasticSearch 5学习(6)——分布式集群学习分享1

    在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...

  5. 从零开始学习jQuery (一) 入门篇

    本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些 ...

  6. 腾讯QQ会员技术团队:人人都可以做深度学习应用:入门篇(下)

    四.经典入门demo:识别手写数字(MNIST) 常规的编程入门有"Hello world"程序,而深度学习的入门程序则是MNIST,一个识别28*28像素的图片中的手写数字的程序 ...

  7. WPF样式(Style)入门

    原文:WPF样式(Style)入门 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34802416/article/details/78231 ...

  8. 前端学习 node 快速入门 系列 —— 初步认识 node

    其他章节请看: 前端学习 node 快速入门 系列 初步认识 node node 是什么 node(或者称node.js)是 javaScript(以下简称js) 运行时的一个环境.不是一门语言. 以 ...

  9. 前端学习 node 快速入门 系列 —— npm

    其他章节请看: 前端学习 node 快速入门 系列 npm npm 是什么 npm 是 node 的包管理器,绝大多数 javascript 相关的包都放在 npm 上. 所谓包,就是别人提供出来供他 ...

随机推荐

  1. sql语句中的 inner join 、 left join 、 right join、 full join 的区别

    简单明了地说,连接分内连接和外链接 假设有A和B两张表 内连接:inner join   表示把AB表的记录相符都显示出来,把AB表不符合条件的都排除 外连接分三种,即左连接(LEFT OUTER J ...

  2. 利用API自动建立GL科目段组合

    1.检查存在性,如没有则新增 fnd_flex_keyval.validate_segs('CREATE_COMBINATION'                                    ...

  3. zw版【转发·台湾nvp系列Delphi例程】HALCON DivImage1

    zw版[转发·台湾nvp系列Delphi例程]HALCON DivImage1 procedure TForm1.Button1Click(Sender: TObject);var    img0, ...

  4. 六、Java基础---------equals 与 ==深入讲解

    在我们写程序时经常会去比较两个变量是否相等,一般我们有两种方式去比较:equals与==,但是很多情况是不明就里,最后得出错误的结论.本文详解了equals与==. Java程序中测试两个变量是否的两 ...

  5. java连接数据库URL

    转: 1.Oracle数据库 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url ...

  6. (顺序表的应用5.4.2)POJ 1591 M*A*S*H(约瑟夫环问题的变形——变换步长值)

    /* * POJ_1591_2.cpp * * Created on: 2013年10月31日 * Author: Administrator */ #include <iostream> ...

  7. 关于 MySQL LEFT JOIN 你可能需要了解的三点

    即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西! ON 子句与 WHERE 子句的不同 一种更好地理解带有 WHERE ... IS NUL ...

  8. html5 图片热点area,map的用法

    今天看了一个html5在图片上面创建热点的标签,所谓图片热点就是给你一张图片然后你可以设置点击图片不同的位置进入不同的链接!如果下面是一张图片的话,里面在长方形.圆形.三角形区域都可以进入其他网页! ...

  9. STM32内存跟FLASH问题

    RO: 常量 ZI: 未初始化的全局变量 RW: 初始化的全局变量 Code: 程序本身 Code, RO-data,RW-data ..............flash RW-data, ZIda ...

  10. c# 定时执行python脚本

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...