WPF运用基本教程
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">1、</span>WPF简介</p>WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现<span style="color: black;">基本</span>”,是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它<span style="color: black;">供给</span>了统一的编程模型、语言和框架,真正做到了分离界面设计人员与<span style="color: black;">研发</span>人员之间的工作;<span style="color: black;">同期</span>它<span style="color: black;">供给</span>了全新的多<span style="color: black;">媒介</span>交互用户图形界面。
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">2、</span>WPF特点</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">1、统一的编程模型</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">WPF<span style="color: black;">供给</span>的编程模型统一普通控件、语音、视频、文档3D等技术,这些<span style="color: black;">媒介</span>类型能够统一协调工作,降低了<span style="color: black;">咱们</span>的学习成本。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">2、与分辨率无关</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">WPF是基于矢量绘图的,<span style="color: black;">因此呢</span>它产生的图形界面能够支持<span style="color: black;">各样</span>分辨率的<span style="color: black;">表示</span>设备,而不会像WinForm等在高分辨率的现实设备上产生锯齿。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">3、硬件加速技术</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">WPF是基于Direct3D创建。在WPF应用程序中无论是2D还是3D的图形<span style="color: black;">或</span>文字内容都会被转换为3D三角形、材质和其他Direct3D对象,并由硬件负责渲染,<span style="color: black;">因此呢</span>它能够更好的利用系统的图像处理单元GPU,从硬件加速中<span style="color: black;">得到</span>好处。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">4、声明式编程</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">WPF引入一种新的XAML语言(Extensible Application Markup Language)来<span style="color: black;">研发</span>界面。<span style="color: black;">运用</span>XAML语言将界面<span style="color: black;">研发</span>以及后台<span style="color: black;">规律</span><span style="color: black;">研发</span>很好的<span style="color: black;">掰开</span>,降低了前后台<span style="color: black;">研发</span>的耦合度,<span style="color: black;">运用</span>户界面设计师与程序<span style="color: black;">研发</span>者能更好的合作,降低<span style="color: black;">守护</span>和更新的成本。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">5、易于<span style="color: black;">安排</span></p>WPF除了<span style="color: black;">能够</span><span style="color: black;">运用</span>传统的Windows Installer以及ClickOnce方式来发布<span style="color: black;">咱们</span>的桌面应用程序之外,还<span style="color: black;">能够</span>将<span style="color: black;">咱们</span>的应用程序稍加改动发布为基于浏览器的应用程序。
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">3、</span>常用的辅助<span style="color: black;">研发</span>工具</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">KAXAML:是一个轻量级的XAML编辑器,<span style="color: black;">运用</span>它<span style="color: black;">咱们</span><span style="color: black;">能够</span>快速的查看XAML代码以及XAML所展示的UI界面。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Microsoft Expression Blend:简<span style="color: black;">叫作</span>(Blend)它是WPF UI界面设计师<span style="color: black;">必须</span>工具,利用它<span style="color: black;">咱们</span><span style="color: black;">能够</span>设计出非常精美的UI界面,以及界面的样式、模板、动画等资源。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">下载<span style="color: black;">位置</span>:</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">KAXAML:https://download.csdn.net/download/zy0131/10051214</p>Blend:https: //msdn.microsoft.com/zh-cn/(搜索Blend)
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">4、</span><span style="color: black;">研发</span><span style="color: black;">基本</span></span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">1、新建WPF应用程序</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">选取</span>菜单->“文件”->“新建”->“项目”,在“新建项目”对话框中<span style="color: black;">选取</span>WPF应用程序,修改名<span style="color: black;">叫作</span>为WpfDemo,<span style="color: black;">而后</span>点击“确定”按钮,如下图所示:</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/662d4a5a6cae4186b25e272dec1fbd13~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=KopuTzY6f%2Fo7NqUsMHDAHtm2n40%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">2、生成的文档结构图如下:</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/82efe9523ded41349fec516d8194bbaf~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=q71pVKD0m7vbY321MzfDoKMBD0U%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">3、在App.xaml中的“StartupUri”属性<span style="color: black;">能够</span>指定项目运行时的<span style="color: black;">起步</span>窗体。如下图中“StartupUri=”MainWindow.xaml””,还<span style="color: black;">能够</span>定义<span style="color: black;">咱们</span>需要的系统资源以及引入程序集等</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">,如下图所示:</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/c9bc90dc74e845d6a57032f7cf2abf9d~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=p%2FGH6TcfsAZju5J53Mr7UBx9n70%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">5、</span>XAML语言</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">XAML语言:是微软<span style="color: black;">机构</span>为构建应用程序用户界面而创建的一种新的“可扩展应用程序标记语言”,<span style="color: black;">供给</span>了一种便于扩展和定位的语法来定义和程序<span style="color: black;">规律</span>分离的用户界面。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">特点:</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">定义应用程序的界面元素</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">表示</span>的声明WPF资源(样式、模板、动画等)</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">可扩展性(自定义UI控件)</p>集中关注于界面的设计和实现
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">6、</span>XAML命名空间以及命名空间映射到程序集</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">1、XAML命名空间</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">研发</span>语言会将常用功能以类的形式封装,<span style="color: black;">研发</span>人员<span style="color: black;">按照</span>自己的业务<span style="color: black;">需要</span>,<span style="color: black;">亦</span>会封装满足<span style="color: black;">自己</span>业务<span style="color: black;">需要</span>的类,<span style="color: black;">倘若</span>有序组织这些类?一方面,便于<span style="color: black;">研发</span>人员准确调用;另一方面,编译器<span style="color: black;">能够</span>有效识别<span style="color: black;">拥有</span>相同命名的类,就引入了命名空间,简单地说,是<span style="color: black;">经过</span>类似树状结构来组织<span style="color: black;">各样</span>类,是一种较为有效的类名<span style="color: black;">摆列</span>方式。</p>而XAML和.NET其他语言<span style="color: black;">同样</span>,<span style="color: black;">亦</span>是<span style="color: black;">经过</span>命名空间有效组织起XAML内部的<span style="color: black;">关联</span>元素类,<span style="color: black;">这儿</span>的命名空间与.NET中的命名空间不是一一对应的,而是一对多,一眼望去,都是“网址”,<span style="color: black;">这儿</span>的网址,是遵循XAML解析器标准的命名规则,而不是真正的网址(在IE中<span style="color: black;">基本</span>打不开)。
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"对应<span style="color: black;">有些</span>与XAML语法和编译<span style="color: black;">关联</span>的CLR名<span style="color: black;">叫作</span>空间,例如</p><Style x:key="buttonMouseOver" TargetType="{x:Type Button}">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">这儿</span>的xmlns和xmlns:x的区别在于x<span style="color: black;">做为</span>别名,在应用时,以前缀形式<span style="color: black;">显现</span>,而xmlns<span style="color: black;">做为</span>默认命名空间,不<span style="color: black;">运用</span>前缀标识的元素,来自该命名空间。</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">XAML命名空间的语法:</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">xmlns[:可选映射前缀]="命名空间描述"</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">重视</span>:<span style="color: black;">无</span>加可选映射前缀的xmlns是WPF默认的命名空间,一个xaml文件只能有一个默认的命名空间</p>一个完整的xaml文件,必须具备两个命名空间。
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">2、自定义类或程序集映射语法</p>xmlns[:必选映射前缀]="clr-namespace:[命名空间];assembly=[程序集名<span style="color: black;">叫作</span>]"
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">在同一个<span style="color: black;">处理</span><span style="color: black;">方法</span>下面新建一个“”的项目,命名为“WPFUserControl”,在项目的属性里面修改默认的命名空间为:MyControl.WpfUserControl,添加两个TextBlock和两个TextBox,如图所示:</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/b76ebbfeb93a48fe9ec705e54dd4cc95~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=B332YNeUXmqt7CmPz6zufNSX1OM%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">3、在<span style="color: black;">第1</span>个项目里面引用新建的用户控件,<span style="color: black;">重视</span>:<span style="color: black;">首要</span>要添加新建用户控件库的引用。</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/3db0ab6257114672b385cb34002b9c12~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=nFz9IJommn0N%2Fhs21IRa1RBzxoM%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">4、映射到当前程序集的语法</p>xmlns[:必选映射前缀]="clr-namespace:[命名空间]"
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">在当前项目下面新建一个用户控件,添加两个TextBlock和两个TextBox,如下图所示:</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/133f65987e33441baef895c751e43103~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=iYwpRpbzR7aafUlq4Qi%2FlXqCag4%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">在MainWindow.xaml里面调用新建的用户控件,需要引用命名空间:</span></p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/6110b37499a54201890eeefd1a4a967c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728356109&x-signature=g0jfRzPhMp49lntwJz5qyry4VxE%3D" style="width: 50%; margin-bottom: 20px;"></div>
期待与你深入交流,共探知识的无穷魅力。 你的努力一定会被看见,相信自己,加油。 你的见解真是独到,让我受益匪浅。
页:
[1]