昨天有个想法想验证一下,但是感觉项目组web前台,后台这样开发,再联调效率有点低。
因此,想回归到原始的windows窗口程序,简单直接。
一直都很怀念当年的delphi,开发速度,尤其是开发界面速度不要太快!
delphi没落了后,开始用VS,Visual studio,不是现在前端开发用的vs code。
下载了第三方的demo后,发现vs2022中,无法将一个按钮等控件拖动到窗体上,这不扯吗,找原因没找到。
vs2022卸载了,装vs2015,又发现安装不是,老是找不到包,以前可不这样,一路next就安装下去了。难不成。。。
又回到vs2022,通过网络安装,安装上来,再打开,居然可以了。。。以前按钮,控件都是灰的,无法拖动上去。
都是界面控件可视化设计操作,怎么有点不一样呢,没有以前丝滑了。
一看,程序文件是XAML文件,打开一看,能看明白,是XML格式的控件描述。
直接用Winforms多好,简单(不粗暴)。
既然第一次遇到,那就彻底搞明白。
什么是 WPFWPF(Windows Presentation Foundation)是由微软开发的桌面应用程序框架,用于创建现代化、高度交互和具有视觉吸引力的用户界面。它是 .NET Framework 的一部分,提供了一种基于 XAML(Extensible Application Markup Language)语言的声明性编程模型,可以很容易地创建动态、灵活的用户界面,并且可以与其他 .NET 技术无缝集成。WPF 还具有强大的数据绑定和可重用性,使开发人员可以更快地构建和维护应用程序。WPF 也支持硬件加速和高分辨率显示,为用户带来更好的体验。
WPF 和 Winform 的区别WPF(Windows Presentation Foundation)和 WinForms(Windows Forms)都是用于创建 Windows 桌面应用程序的框架,但它们有一些重要的区别:
- 编程模型:WPF 是基于 XAML 的声明性编程模型,它可以很容易地创建动态、灵活的用户界面,支持动画和高级视觉效果。而 WinForms 则是基于传统的命令式编程模型,需要在代码中手动设置每个控件的属性和事件处理程序。
- 数据绑定:WPF 有一个强大的数据绑定系统,可以将 UI 元素和数据源相互绑定,使应用程序更容易管理和更新数据。WinForms 也支持数据绑定,但不如 WPF 灵活。
- 可重用性:WPF 支持样式和模板,使 UI 元素可以轻松地重用和自定义,这大大简化了应用程序的开发和维护。WinForms 则需要手动创建每个 UI 元素,不太容易重用。
- 矢量图形和分辨率:WPF 使用矢量图形,可在高分辨率屏幕上呈现清晰的图像,而 WinForms 使用像素图形,可能在高分辨率屏幕上显示模糊或失真。
Extensible Application Markup Language (Extensible Application Markup Language, XAML) 是一种声明性语言。 具体来讲,XAML 可初始化对象和设置对象的属性,使用一种可显示多个对象间分层关系的语言结构,还使用了一种支持类型扩展的支持类型约定。
使用 WPF 时首先遇到的事情之一是 XAML。XAML 代表可扩展应用程序标记语言,一种基于 XML 的简单的声明性语言,是微软用于描述 GUI 的 XML 变种。在之前的 GUI 框架如 WinForms 中,GUI 是用相同语言创建,例如 C# 或 VB.NET ,并且通常由设计者来维护。但是,通过 XAML,微软使用了另一种方式。非常类似HTML,你现在能轻松编写你的GUI。
什么是UWP通用 Windows 平台 (UWP),可以生成适用于任何 Windows 设备(电脑、Xbox One、HoloLens 等等)的应用,然后将这些应用发布到 Store。