iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >WPF简介与基础开发
  • 563
分享到

WPF简介与基础开发

2024-04-02 19:04:59 563人浏览 八月长安
摘要

一、WPF简介 WPF:WPF即windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Wind

一、WPF简介

WPF:WPF即windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.net Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

二、WPF特点

1、统一的编程模型

WPF提供的编程模型统一普通控件、语音、视频、文档3D等技术,这些媒体类型能够统一协调工作,降低了我们的学习成本。

2、与分辨率无关

WPF是基于矢量绘图的,因此它产生的图形界面能够支持各种分辨率的显示设备,而不会像winform等在高分辨率的现实设备上产生锯齿。

3、硬件加速技术

WPF是基于Direct3D创建。在WPF应用程序中无论是2D还是3D的图形或者文字内容都会被转换为3D三角形、材质和其他Direct3D对象,并由硬件负责渲染,因此它能够更好的利用系统的图像处理单元GPU,从硬件加速中获得好处。

4、声明式编程

WPF引入一种新的XAML语言(Extensible Application Markup Language)来开发界面。使用XAML语言将界面开发以及后台逻辑开发很好的分开,降低了前后台开发的耦合度,使用户界面设计师与程序开发者能更好的合作,降低维护和更新的成本。

5、易于部署

WPF除了可以使用传统的Windows Installer以及ClickOnce方式来发布我们的桌面应用程序之外,还可以将我们的应用程序稍加改动发布为基于浏览器的应用程序。

三、常用的辅助开发工具

Microsoft Expression Blend:简称(Blend)它是WPF UI界面设计师必备工具,利用它我们可以设计出非常精美的UI界面,以及界面的样式、模板、动画等资源。

下载地址:

Blend:https://msdn.microsoft.com/zh-cn/(搜索Blend)

四、开发基础

1、新建WPF应用程序

选择菜单->“文件”->“新建”->“项目”,在“新建项目”对话框中选择WPF应用程序,修改名称为WpfDemo,然后点击“确定”按钮,如下图所示:

2、生成的文档结构图如下:

3、在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。如下图中“StartupUri=”MainWindow.xaml””,还可以定义我们需要的系统资源以及引入程序集等

如下图所示:

五、XAML语言

XAML语言:是微软公司为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面。

特点:

定义应用程序的界面元素

显示的声明WPF资源(样式、模板、动画等)

可扩展性(自定义UI控件)

集中关注于界面的设计和实现

六、XAML命名空间以及命名空间映射到程序集

1、XAML命名空间

开发语言会将常用功能以类的形式封装,开发人员根据自己的业务需求,也会封装满足自身业务需求的类,如果有序组织这些类?一方面,便于开发人员准确调用;另一方面,编译器可以有效识别具有相同命名的类,就引入了命名空间,简单的说,是通过类似树状结构来组织各种类,是一种较为有效的类名排列方式。

而XAML和.NET其他语言一样,也是通过命名空间有效组织起XAML内部的相关元素类,这里的命名空间与.NET中的命名空间不是一一对应的,而是一对多,一眼望去,都是“网址”,这里的网址,是遵循XAML解析器标准的命名规则,而不是真正的网址(在IE中根本打不开)。

xmlns:x="Http://schemas.microsoft.com/winfx/2006/xaml"对应一些与XAML语法和编译相关的CLR名称空间,例如
<Style x:key="buttonMouseOver" TargetType="{x:Type Button}">

这里的xmlns和xmlns:x的区别在于x作为别名,在应用时,以前缀形式出现,而xmlns作为默认命名空间,不使用前缀标识的元素,来自该命名空间。

XAML命名空间的语法:
xmlns[:可选映射前缀]="命名空间描述"
注意:没有加可选映射前缀的xmlns是WPF默认的命名空间,一个xaml文件只能有一个默认的命名空间
一个完整的xaml文件,必须具备两个命名空间。

2、自定义类或程序集映射语法

xmlns[:必选映射前缀]="clr-namespace:[命名空间];assembly=[程序集名称]"

在同一个解决方案下面新建一个“”的项目,命名为“WPFUserControl”,在项目的属性里面修改默认的命名空间为:MyControl.WpfUserControl,添加两个TextBlock和两个TextBox,如图所示:

在第一个项目里面引用新建的用户控件,注意:首先要添加新建用户控件库的引用。

3、映射到当前程序集的语法

xmlns[:必选映射前缀]="clr-namespace:[命名空间]"

在当前项目下面新建一个用户控件,添加两个TextBlock和两个TextBox,如下图所示:

在MainWindow.xaml里面调用新建的用户控件,需要引用命名空间:

到此这篇关于WPF简介与基础开发的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: WPF简介与基础开发

本文链接: https://www.lsjlt.com/news/140489.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • WPF简介与基础开发
    一、WPF简介 WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Wind...
    99+
    2022-11-13
  • solr基础知识简介
    1.1 solr简介ApacheSolr作为搜索服务器,实现站内搜索具有封装性好和良好的扩展性,多门户社区多采用solr进行搜索引擎的建设。ApacheSolr 是一个开源的搜索服务器,Solr使...
    99+
    2022-10-18
  • php语言基础简介
    这篇文章给大家分享的是有关php语言基础简介的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。本教程并不...
    99+
    2023-06-17
  • python基础学习-socket简介
    导读socket简介,套接字可以看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。通信时,其中的一个网络应用程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过网络接口卡的传输介质将这段信息发送给另一台主机的S...
    99+
    2023-06-02
  • Python基础知识(一)—简介
    一、Python 简介 Python定义:是一个免费、开源、跨平台、动态、面向对象的编程语言。 Python程序的执行(运行)方式有两种:交互式、文件式 交互式在命令行输入指令,回城即可得到结果。1.打开终端2.进行交互式:python3...
    99+
    2023-01-31
    基础知识 简介 Python
  • JavaScript基础入门--JavaScript简介
    一、简单好学,富有表现力 —— JavaScript简介1.1 JavaScript的用途JavaScript用来制作web页面交互效果,提升用户体验。 简单列出几个JavaScript能够制作的...
    99+
    2022-10-18
  • SpringCloud微服务基础简介
    目录一、什么是Spring Cloud?二、Spring Cloud的架构模式三、Spring Boot与Spring Cloud的关系四、Spring Cloud与Dubbo的对比...
    99+
    2022-11-12
  • AJAX的简介和基础总结
    这篇文章主要介绍“AJAX的简介和基础总结”,在日常操作中,相信很多人在AJAX的简介和基础总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”A...
    99+
    2022-10-19
  • JavaScript基础介绍与实例
    一、什么是JavaScript JavaScript是一种具有面向对象能力的、解释性的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。因为他不需要在...
    99+
    2022-11-13
  • Android开发基础
    介绍 1.安卓开发简介 2.App的运行环境 3.Android四大基本组件 4.Activity生命周期 5.创建新项目 6.Android开发工具 7.Android App中Activity的生命周期 总结 1.安卓开...
    99+
    2023-09-09
    android
  • PHP开发基础
    目录 一、PHP开发基础 2.1PHP基本语法 2.1.1PHP标记符 2.1.2 PHP注释 2.1.3PHP语句和语句块 2.2PHP的数据类型 2.2.1标量数据类型 2.2.2复合数据类型 2.2.3 特殊数据类型 2.2.4 检测...
    99+
    2023-09-03
    php
  • 简单介绍下MySQL的基础应用
    下面讲讲关于MySQL的基础应用,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL的基础应用这篇文章你一定会有所受益。 1.登入到MySQL云服务器[root@...
    99+
    2022-10-18
  • Java基础之简单介绍一下Maven
    目录一、Maven是什么?二、Maven的作用三、Maven能干的事情四、Maven的好处五、Maven的仓库分类以及简单的说明六、Maven定义jar包的各个字段的描述七、Mave...
    99+
    2022-11-12
  • Python开发基础-day2
    一.python列表list是处理和存放一组数据的列表    用法:    acclist.index()   调出list中内容位置    acclist.insert()  (要插入的位置,插入的内容)  list插入内容    acc...
    99+
    2023-01-31
    基础 Python
  • Android App开发基础
    Android App开发基础 App的开发特点(1)App的运行环境1.使用数据线把手机连到电脑上2.在电脑上安装手机的驱动程序3.打开手机的开发者选项并启用USB调试4.将连接的手机设为文...
    99+
    2023-09-06
    android 开发基础 运行环境 调试
  • JSON基础介绍与详细用法
    一、什么是JSON 1、JSON指的是JavaScript对象表示法(JavaScript Object Notation)。2、JSON是轻量级的文本数据交换格式,比XML更小、更...
    99+
    2022-11-13
  • Reactcss-in-js基础介绍与应用
    目录1. 介绍2. 使用1. 介绍 CSS-in-JS 是一种技术,而不是一个具体的库实现。简单来说 CSS-in-JS 就是将应用的CSS样式写在 JavaScript 文件里面,...
    99+
    2022-11-13
  • 计算机基础知识——DOS命令简介
    1、DOS简介 1.1、什么是DOS     DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,它是一个单用户单任务操作系统,它直接操纵管理硬盘的文件,一般都是黑底白色文字的界面。     DOS的组成...
    99+
    2023-09-23
    服务器 运维
  • 简单介绍MySQL数据库的基础知识
    下文主要给大家带来MySQL数据库的基础知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据库的基础知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库1 、定义数据库,可以简单...
    99+
    2022-10-18
  • Flutter插件开发-(基础篇)
          在开发flutter项目的时分通常会运用一些三方的的packages或许plugin,二者的区别:packages主要是包括的Dart代码块,而plugin则包括iOS和android的代码。 因此来说创立plugin和pack...
    99+
    2023-10-25
    flutter android vscode
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作