WPF、WinUI、UWP、WinForm 在项目中到底是怎么区别的?

2021-11-12 14:46:19 +08:00
 liuser666
最近在用 WinUI 开发嘛,终于想到了如何组织这个问题,


按理说 UWP 和 WPF 是互斥的,那么是怎样一个互斥法呢,这种互斥是由于引用的包不一样吗?
System.Windows;是 WPF 启动 APP 的包
Windows.UI.Xaml;是 UWP 启动 APP 的包
Microsoft.UI.Xaml;是 WinUI 启动 APP 的包
然后我再看 winform 就更牛了,
只用了 System.Windows.Forms;这一个包,所以 winform 的开发方式岂不是更简单吗?


那么是否意味着我只要把这个包换一下(以及对应的 xaml 的包),我的应用就变成另一种类型了?那么 UWP 限制调用 win32 的 api 是怎么限制的呢?按照现在的条件,我只要单独写个类引个其他的 nuget 包就能间接调用 win32 的 api 了呀。


最后,WinUI 说的支持 Win32 程序是什么意思呢?说到这里我对 Win32 程序又迷惑了,现在说的 win32 究竟指的是什么呀?是 winform 开发的程序还是特指 C++开发的,还是指调用 Win32api 的还是啥?
2251 次点击
所在节点    C#
2 条回复
maggch
2021-11-12 17:31:00 +08:00
是 Project 的属性指定的,不是你换依赖包就能解决的。对应的是一整套从编译到打包的流程。
forgottencoast
2021-11-12 22:01:13 +08:00
UWP 和 WPF 的运行时都不一样,UWP 限制调用 Win32 api 很多要不就是没有实现,要不就是运行时不支持。
Win32 程序应该是指使用 Win32 API 开发的程序。
引用几个包并不是特别重要啊,反正只引用一次就行了,谁会天天引用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/814950

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX