认识wpf窗体

窗体是WPF中最重要的一个呈现控件,它能够容纳其他的WPF控件,用户通常也是通过窗口来与WPF应用程序进行数据交互的。简单的说,WPF窗体就是应用程序的载体,承载了控件和用户数据展示。

WPF技术从传统Windows技术发展而来,WPF窗体也继承了很多WinForm窗体特性,同时又具有很多自己的个性,特别是在美观上能够请轻松制作出过去很难实现的炫酷效果。

 

  1. 窗体的组成

     

     

     

     

     

     

     

     

     

  2. 窗体的创建
    1. 物理窗体的创建

    通过项目管理菜单添加新WPF窗体

     

    这个只是创建的类(窗体的类)

    1. 窗体对象的创建(需要实例化

默认创建好的窗体是项目中的一个类不能直接使用,必须使用窗体名定义出窗体对象才能使用。即便对项目默认自动加载的窗体(App.XAML中或通过Program.CS中定义),其运行实际上也是先定义了对象再运行的。

定义格式:

窗体名窗体对象名=new 窗体名([可选的构造参数]);

  1. 窗体的声明周期

     

  2. 窗体对象的状态和模式

    窗体的模式主要包括三个属性的应用

     

  3. 窗体的外观属性

    WindowsStyle属性

    3D边框,推荐默认使用。

    (5)窗体间的传值(数据传递)

WPF窗体之间要实现数据传递可以采用如下四种方式:

1)声明个全局变量,就是App.xaml里面声明;在所有窗体里面都可以引用Application.Current.Properties["ArgumentName"]

2)第二个就是在目标窗体上面公开个属性,直接赋值;

3)在Uri里面传参数NavigationService.Navigate(window object,argument value);

4)定义一个静态类,所有窗体都可以访问静态类的静态数据成员。

推荐第一个和第四个方法

3、不规则窗体

不规则窗体顾名思义就知道这种窗体是不同于传统的矩形窗体的,它们可以是各种奇怪的形状,三角形、圆形、还有各种位图造型。使用不规则窗体,WinForm和WPF均可实现,不过相对传统Winform较为麻烦些,需要调用Windows API,而且效率还不高,现在如果使用WPF则相对简单的多。

实现WPF不规则窗体的几种常用的方法如下:

使用Blend等工具绘制一想要的窗体。

使用Blender制作想要的Path的说明。

windowClip属性赋Path值。

使用透明背景的PNG图像。

为Window主容器添加Border

 

posted @ 2020-05-26 01:16  司徒无名  阅读(507)  评论(0编辑  收藏  举报