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(0, 255, 255);
SolidColorBrush brush = new SolidColorBrush(clr);
Background = brush;

  

等待完善

原文地址:https://www.cnblogs.com/zhujinghui/p/4043757.html