WPF入门教学(C#窗口、客户端)

本文介绍了如何使用WPF(Windows Presentation Foundation)进行C#窗口程序开发,包括创建WPF项目、导入图片资源、设置资源生成操作、搭建UI界面以及控件使用。通过实例详细讲解了WPF中的Grid布局、Image控件作为背景及Label和Button的添加,适合初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做版本更新,自己写了一个更新器。一开始是使用C#窗口程序,发现C#窗口程序对于图片的处理有问题,图片四周的锯齿很明显,然后查找了微软有没有其他编译器,发现了WPF,摸索花费了一些时间。为了后来者,减少些时间熟悉WPF,下面直入主题:

1,打开VS(我使用的是vs2015),新建项目,选择WPF,名称为StudyWPF,如下图:

2,WPF的初始界面,有解决方案,MainWindow.xaml和XAML,如下图所示:

3,新建Resources文件夹,右键点击项目,选择添加,选择新建文件夹,重命名为Resources,如下图所示:

4,将所需的资源如图片,放在Resources文件夹下面,操作步骤如下图:

(1)双击Resources.resx,选择图像(添加图片资源)

(2)添加资源选择现有文件,然后选择你需要图片资源,如下图:

最后,Ctrl+S保存,图片资源添加完成,其他资源添加类似。

5,对图片资源进行处理,使生成exe文件包含我们添加的图片资源(适用于资源较少的情况下,若资源文件很多,需要使用相对路径指向相应的资源,本次不讲解资源过多的情况),操作如下图所示:

(1)选中图片资源(可以选中多张),右键选择属性:

(2)将属性中生成操作设置为Resource:

现在,生成的exe文件就包含了图片资源。

6,搭建软件UI操作界面,双击解决方案里面的MainWindow.xaml,进入UI可视化编辑,WPF控件存放需要容器,微软给我们提供了好几种,如:Grid、Cavas等,有什么区别还没有去深究,我用的是Grid,将Grid设置和窗口大小一样,位置设为(0,0),操作如下:

(1)双击解决方案里面的MainWindow.xaml,页面为新建项目时页面一样,然后点击工具箱。

(2)在常用WPF控件里面找到Grid,拖入MainWindow里面。

(3)查看窗口大小

(4)点击Grid,然后点击属性,设置grid的大小、位置和名字

7,如上操作拖入Image控件,用作背景,设置大小,位置和grid一样,名字设置为BG,选取资源图片为背景

8,添加Label控件,位置,大小自己拖拽设置,名字的设置为TestName。

9,拖入Button控件,位置大小自己拖拽设置,并双击Button控件,然后进行代码逻辑实现。

(1)双击

(2)编写代码逻辑

10,重新生成解决方案,然后在debug下面找到exe文件运行下,看下效果或直接点击启动也可以看到效果。

(1)重新生成解决方案

(2)找到exe文件

(3),双击exe文件,点击button。

总结:简单WPF入门教程写完了,希望对你有帮助。2018\4\8

目录 WPF体系结构 .......................................................................................................................................................... 3 WPF应用程序管理 .................................................................................................................................................. 5 一、WPF应用程序由System.Windows.Application 类进行管理 ................................................................. 5 二、创建WPF应用程序 ................................................................................................................................. 5 三、应用程序关闭 ........................................................................................................................................... 6 四、Application 对象的事件 ........................................................................................................................... 7 五、WPF应用程序生存周期 .......................................................................................................................... 9 WPF窗体 ................................................................................................................................................................ 10 一、窗体类 ..................................................................................................................................................... 10 1、XAML文件....................................................................................................................................... 10 2、后台代码文件 ................................................................................................................................... 10 二、窗体的生存周期 ......................................................................................................................................11 1、显示窗体 ............................................................................................................................................11 2、关闭窗体 ........................................................................................................................................... 12 3、窗体的激活 ....................................................................................................................................... 12 4、窗体的生存周期 ............................................................................................................................... 12 三、其他窗体相关的属性、方法、事件 ..................................................................................................... 15 四、定义异形窗体 ......................................................................................................................................... 16 StackPanel、WrapPanel、DockPanel 容器 .......................................................................................................... 19 一、StackPanel ............................................................................................................................................... 19 1、可以使用Orientation 属性更改堆叠的顺序 ................................................................................... 19 2、设置控件的属性,调整控件的显示................................................................................................ 20 二、WrapPanel ................................................................................................................................................ 20 三、DockPanel ................................................................................................................................................ 21 Grid UniformGrid 容器 ........................................................................................................................................ 22 一、Grid .......................................................................................................................................................... 22 二、使用GridSplit分割 ................................................................................................................................ 23 三、UniformGrid ............................................................................................................................................ 25 Canvas、InkCanvas布局 ....................................................................................................................................... 27 一、Canvas ..................................................................................................................................................... 27 二、InkCanvas ................................................................................................................................................ 27 WPF对控件其类型的继承方式如下 .................................................................................................................... 29 WPF控件内容模型 ................................................................................................................................................ 32 一、ContentControl模型 ............................................................................................................................... 35 二、HeaderedContentControl模型 ................................................................................................................ 36 三、ItemsControl模型 ................................................................................................................................... 38 1、使用ItemSource 属性 ....................................................................................................................... 38 2、使用Items属性 ................................................................................................................................ 40 四、HeaderedItemsControl模型 .................................................................................................................... 42 Panel Decorator TextBlock 内容模型 .................................................................................................................. 44 一、Panel内容模型 ....................................................................................................................................... 44 本文来自网络,由大胡子制作.版权归原作者所有.如果你有 wpf 的好资料可以联系我 QQ:249872349,Email:BigBeard@126.com 二、Decorator内容模型 ................................................................................................................................ 45 三、TextBlock 模型 ........................................................................................................................................ 46 四、TextBox 模型 ........................................................................................................................................... 49 依赖项属性和路由事件 ......................................................................................................................................... 50 一、依赖项属性(Dependency Property ....................................................................................................... 50 1、依赖项属性与CLR 包装属性 ......................................................................................................... 50 2、使用由依赖项属性提供的属性功能................................................................................................ 51 3、自定义依赖项属性及重写依赖项属性 ............................................................................................ 52 二、路由事件(RoutedEvent)..................................................................................................................... 53 键盘输入、鼠标输入、焦点处理 ......................................................................................................................... 56 一、键盘类和键盘事件 ................................................................................................................................. 56 二、鼠标类和鼠标事件 ................................................................................................................................. 57 三、焦点处理 ................................................................................................................................................. 60 1、键盘焦点: ....................................................................................................................................... 60 2、逻辑焦点 ........................................................................................................................................... 61 3、键盘导航 ........................................................................................................................................... 61 4、焦点事件 ........................................................................................................................................... 61 WPF命令 ................................................................................................................................................................ 63 一、命令: ..................................................................................................................................................... 64 二、命令源 ..................................................................................................................................................... 65 三、命令目标 ................................................................................................................................................. 66 四、命令绑定 ................................................................................................................................................. 67 WPF资源 ................................................................................................................................................................ 70 一、什么是资源 ............................................................................................................................................. 70 二、资源的定义及XAML中引用 ................................................................................................................ 70 三、XAML解析资源的顺序 ......................................................................................................................... 74 四、静态资源(StaticResource)和动态资源(DynamicResource) ........................................................ 77 五、不同类型的资源 ..................................................................................................................................... 81 1、程序集资源。 ................................................................................................................................... 81 2、对象资源 ........................................................................................................................................... 82
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值