欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一、WPF入门教程——创建WPF项目

程序员文章站 2022-05-03 10:41:38
WPF入门教程——创建WPF项目 一、简介 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它 ......

wpf入门教程——创建wpf项目

一、简介

wpf(windows presentation foundation)是微软推出的基于windows 的用户界面框架,属于.net framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

学习wpf的基础知识:
(1)wpf是微软提供的一种用来开发“桌面应用”的技术(框架),这项技术本身和c#没有关系,必须会的是xaml语法。
(2)对xml、html、xhtml、asp.net之类的“标准通用标记语言”,对于学习是有所帮助的。
(3)有winform或asp.net经验,主要是对控件事件的处理要有所了解。
(4)具备面向对象的思想:在wpf中,经常要灵活运用各种继承关系、多态、重载等。
(5)databinding要有所了解:binding是wpf的一大亮点。

二、创建wpf项目

1.创建wpf项目步骤

1.打开visual studio 2015 ,选择“菜单—>文件—>新建—>项目”。如下图:

一、WPF入门教程——创建WPF项目

2.在“新建项目”对话框中选择“wpf应用程序”,修改名称为自己项目的名称,然后点击“确定”按钮,便成功创建了一个“wpf应用程序”。新创建的项目所引用的公共类库如下。如下图:(“wpf应用程序”会在“引用”里面自动添加下图中所示的 presentationcore、presentationframework、windowsbase三大核心程序集)。

一、WPF入门教程——创建WPF项目

3. 项目的生成的文件结构。如下图:
properties:资源
引用:引用其他类库
app.xmal:程序主体(一个gui进程需要有一个窗体,app.xmal文件的作用声明了程序的进程,同时指定程序的主窗体),点开app.xaml.cs,它是app.xaml的后台代码。
mainwindow1.xmal分支:默认程序的主窗体。

一、WPF入门教程——创建WPF项目

4.在app.xaml中的“startupuri”属性可以指定项目运行时的启动窗体。下图中“startupuri="mainwindow.xaml"”,还可以定义我们需要的系统资源以及引入程序集等。如下图:
xmlns用于在xaml中声明名称空间的attribute;冒号的映射名是可选的;引号的字符串确定了哪个类库以及类库哪个名称空间。

一、WPF入门教程——创建WPF项目

5. mainwindow.xaml的设计窗体中我们可以修改title。还可以设置mainwindow的属性和添加事件。完成了这些设置以后,我们就可以对窗体添加内容了,如下图:
x:class是当xaml解析器将包含它的标签的解析成c#类的类名。是来自xmlns:x的命名空间。第一行xmlns是默认命名空间。<window>和<grid>都来自默认空间。title是窗体标题,height是窗体高度,width是窗体宽度。可以引用cls的命名空间。

一、WPF入门教程——创建WPF项目

6. 我在这个窗体中添加了一个 viewbox, viewbox组件的作用是拉伸或延展位于其中的组件,使之有更好的布局及视觉效果。

2.wpf项目小案例

grid标签中的代码:

  <grid>
        <!--行-->
        <grid.rowdefinitions>
            <rowdefinition height="200" />
            <rowdefinition height="200"/>
            <rowdefinition height="*"/>
        </grid.rowdefinitions>

        <!--列-->
        <grid.columndefinitions>
            <columndefinition width="200" />
            <columndefinition width="200" />
            <columndefinition width="*" />
        </grid.columndefinitions>

        <!--布局方式-->
        <stackpanel grid.row="0">
            <textblock width="250" height="26" text="您所在的省份:" textwrapping="wrap" background="azure" fontsize="20"/>
            <listbox x:name="liststockname" width="200" height="90" background="azure" fontsize="20">
                <listboxitem content="安徽省"/>
                <listboxitem content="浙江省 "/>
                <listboxitem content="江苏省"/>
                <listboxitem content="湖南省 "/>
                <listboxitem content="湖北省 "/>
                <listboxitem content="河南省"/>
                <listboxitem content="陕西省 "/>
                <listboxitem content="福建省"/>
                <listboxitem content="江西省"/>
            </listbox>
            <textblock width="250" height="24" text="你所选中的省份:" background="aqua" fontsize="20" />
            <!--绑定选择项值-->
            <textblock width="250" height="30" text="{binding elementname=liststockname, path=selecteditem.content}" background="azure" fontsize="26"/>
        </stackpanel>
    </grid>

运行结果:

一、WPF入门教程——创建WPF项目