整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

又学一招!Winforms,WPF,XAML- windows桌面开发

天有个想法想验证一下,但是感觉项目组web前台,后台这样开发,再联调效率有点低。

因此,想回归到原始的windows窗口程序,简单直接。

一直都很怀念当年的delphi,开发速度,尤其是开发界面速度不要太快!

delphi没落了后,开始用VS,Visual studio,不是现在前端开发用的vs code。

下载了第三方的demo后,发现vs2022中,无法将一个按钮等控件拖动到窗体上,这不扯吗,找原因没找到。

vs2022卸载了,装vs2015,又发现安装不是,老是找不到包,以前可不这样,一路next就安装下去了。难不成。。。

又回到vs2022,通过网络安装,安装上来,再打开,居然可以了。。。以前按钮,控件都是灰的,无法拖动上去。

都是界面控件可视化设计操作,怎么有点不一样呢,没有以前丝滑了。

一看,程序文件是XAML文件,打开一看,能看明白,是xml格式的控件描述。

直接用winforms多好,简单(不粗暴)。

既然第一次遇到,那就彻底搞明白。

什么是 WPF

WPF(Windows Presentation Foundation)是由微软开发的桌面应用程序框架,用于创建现代化、高度交互和具有视觉吸引力的用户界面。它是 .NET Framework 的一部分,提供了一种基于 XAML(Extensible Application Markup Language)语言的声明性编程模型,可以很容易地创建动态、灵活的用户界面,并且可以与其他 .NET 技术无缝集成。WPF 还具有强大的数据绑定和可重用性,使开发人员可以更快地构建和维护应用程序。WPF 也支持硬件加速和高分辨率显示,为用户带来更好的体验。

WPF 和 Winform 的区别

WPF(Windows Presentation Foundation)和 WinForms(Windows Forms)都是用于创建 Windows 桌面应用程序的框架,但它们有一些重要的区别:

  1. 编程模型:WPF 是基于 XAML 的声明性编程模型,它可以很容易地创建动态、灵活的用户界面,支持动画和高级视觉效果。而 WinForms 则是基于传统的命令式编程模型,需要在代码中手动设置每个控件的属性和事件处理程序。
  2. 数据绑定:WPF 有一个强大的数据绑定系统,可以将 UI 元素和数据源相互绑定,使应用程序更容易管理和更新数据。WinForms 也支持数据绑定,但不如 WPF 灵活。
  3. 可重用性:WPF 支持样式和模板,使 UI 元素可以轻松地重用和自定义,这大大简化了应用程序的开发和维护。WinForms 则需要手动创建每个 UI 元素,不太容易重用。
  4. 矢量图形和分辨率:WPF 使用矢量图形,可在高分辨率屏幕上呈现清晰的图像,而 WinForms 使用像素图形,可能在高分辨率屏幕上显示模糊或失真。

什么是XAML

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。

搭建网站之前首先我们使用的是虚拟机VMware Workstation Pro模拟出两个Windows系统的电脑,一个为Window Server服务器,一个则为普通的Windows客户端,分别命名为Server-A、win-10


VMware Workstation Pro虚拟机模拟Windows操作系统(电脑)

首先我们先给server-A和Win-10配置ip地址


为Server-A配置IP地址


为Win-10配置IP地址

然后我们再将它们归类到一个网段(连接同一台交换机)

两台都需要一样的操作归类到区段1,由于同样操作在这里我只演示一台的设置

后我们到Server-A处安装WEB服务器(IIS),然后一直下一步直到点击安装


安装WEB服务器


安装完成后我们随便创建一个文件目录,再创建一个文本文件,如何写上我们的代码,完成后把记事本的扩展名改为HTML


网页代码


将记事本的扩展名改为html

完成后我们再打开我们的Web服务器,右击网站——>添加网站——>然后输入自定义的名称——>再选择网站的目录(我们刚刚创建的目录)——>后选择网站的IP地址(Server-A的IP)——完成后点击确定


设置网站名称(自定义)——>网站的存储目录——>网站的IP地址

完成后我们再到网站的默认文档输入刚刚我们创建的目录下的文件


选择网站的默认文档


输入创建的目录下的文件

这时再到控制面板关闭我们的防火墙

关闭防火墙

现在我们这就已经搭建好了,可以使用Win-10访问网站了,我们使用win10打开网页输入Server-A的IP地址后,大家可以看到已经访问到了刚刚写的网页


使用Win10打开网页输入Server-A的IP地址

这期到这里就结束了,想学网络的同学可以关注我!下期我将教大家如何制作www.xxx.com的域名网站

家好,我是路程lucky,热爱开发、设计、学习、生活、爱捣鼓的web前后端工程师,为您带来原创文章~

引言

在前几期文章中,我们在centos操作系统基础上搭建了DLNA媒体服务,虽然安装serviio软件过程相对坎坷不易,踩坑较多,但收获很大。本期,我将带来的是更贴切更多小伙伴的windows平台搭建DLNA服务,图形化的安装方式更加通俗易懂。感兴趣的小伙伴还可以看下本文中,对两种平台的对比思考,加大对跨平台软件的技术认知,摸索出一些跨平台程序的相似点,干货满满,一定会让你有所收获。下面我们开始动手实践。

「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务