![1.png](http://static.itsharecircle.com/240123/daa3e2d8bafd905d189f6b30a17f7583.png)
一、什么是WPF?
WPF是微软新一代图形系统,运行在.NET Framework 3.0及以上版本下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。 使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。
WPF 的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势。WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能包括Extensible Application Markup Language (XAML)、控件、数据绑定、布局、2-D和3-D图形、动画、样式、模板、文档、媒体、文本和版式。WPF 包含在 Microsoft .NET Framework 中,使您能够生成融入了 .NET Framework 类库的其他元素的应用程序。
二、WPF 的主要特点包括:
1. XAML:WPF 使用 XAML 来定义应用程序的用户界面,这使得开发人员可以更加容易地进行设计和开发,而无需编写大量的代码。
2. 数据绑定:WPF 提供了一种方便的数据绑定机制,可以将应用程序的数据和用户界面进行绑定,使得数据的更改可以自动更新到用户界面上
3. 图形和动画:WPF 提供了一种强大的图形和动画功能,可以帮助开发人员创建具有丰富视觉体验的应用程序,这些应用程序可以包含 2D 和 3D 图形、图像、视频和动画等元素。
4. 控件和模板:WPF 提供了许多内置的控件和模板,使得开发人员可以更加容易地创建自定义的用户界面。
5. 互操作性:WPF 可以与其他技术进行互操作,例如 Windows Forms、ASP.NET 和 ActiveX 等。
三、WPF安装
visual studio 安装wpf
开发工具visual studio官网下载社区版本,有企业账户也可以下载企业版。安装成功后进入到visual studio中,在工具菜单中打开获取工具与功能选项,加载其他需要的驱动包。将和NET有关的软件和驱动包全部加载进入visual studio工具中来。
App.xaml 描述
<Application x:Class="WpfApp1.App" ---------------------------- 运行的项目wpf窗体名称
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" -----xml命名空间与规则
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
StartupUri="MainWindow.xaml"> -----项目的启动窗体名称
<Application.Resources>
</Application.Resources>
</Application>
如果需要更改启动窗体,在StartupUri=属性重新设置对应的启动窗体内容。
namespace WpfApp1 {
public partial class App : System.Windows.Application {
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
//窗体模本内容
#line 5 "..\..\App.xaml"
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
#line default
#line hidden
}
/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main() {
//默认启动窗体内容
WpfApp1.App app = new WpfApp1.App();
app.InitializeComponent();
app.Run();
}
}
}
}
JHRS.GenerateAPI(代码生成工具)
该工具是在线解析swagger生成供Refit调用的接口,生成的接口如下:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace WpfApp1
{
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application {
}
}
XAML 摸板中的元素 ,都是(CLR 对象)标记语言创建一个对象C#实例,因此使用XAML进行页面元素的描述来构建PWF页面内容。
定义一个CLR 类
var converter = new System.UriTypeConverter();
var obj = converter.ConvertFrom("http://www.atmarkit.co.jp/");
// ↑System.Uri类(=<Uri>元素)包含
// [TypeConverter(typeof(UriTypeConverter))]带属性
总结:
对于WPF开发来说,我并不是很熟悉,这段时间以来一直网上学习和借鉴一些开源的框架,再结合实际项目而整出来的这个开发框架;可能对于从事WPF开发的朋友来说有一定的借鉴意义。
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传