原文 | Dmitry 翻译 | 郑子铭 自Visual Studio 2019推出以来,我们为使用WPF或UWP桌面应用程序的XAML开发人员发布了许多新功能。...最低和最高版本针对 Windows 10 SDK 版本1809(内部版本10.0.17763)或更高版本的任何应用程序均可使用此增强功能。...#regions 智能感知(v16.4)的改进: 从 Visual Studio 2015 开始,WPF 和 UWP XAML 开发人员可以使用 #region 支持,Xamarin.Forms 最近也可以使用....NET 桌面应用程序 包括 WinForms,WPF 和 UWP。...使用 WinUI 3,开发人员将能够使用现代 XAML 的功能来构建由 .NET Core 或 C ++ 支持的桌面和 UWP 应用程序。要了解所有详细信息,请参阅其路线图。
详细请看为何使用 DirectComposition 玩法就是系统给你一个绘制表面,你在这个绘制表面上进行绘制,然后 DWM (桌面管理器 DWM Desktop Window Manager) 会拿出你绘制的表面来和其他的应用进行混合...而通过 DirectComposition 可以让应用自己管理和创建这个重定向表面,而让桌面管理器从应用自己创建的表面进行获取 Bitmap 和其他表面进行混合 这个方式有什么作用?...对于 UWP 应用的实际窗口应该是 Windows.UI.Core.CoreWindow 窗口,右击属性切换到样式就可以看到 UWP 的窗口设置的样式就是 WS_EX_NOREDIRECTIONBITMAP...而 DX 到屏幕显示之间就差一个 DWM 桌面窗口管理器的处理,通过 DirectComposition 或者说 Composition API 技术就能做到压榨 DWM 的渲染延迟,降低从 DX 到屏幕显示的时间...当然处理 UWP 之外,使用 WPF 也是可以做到的,请看 WPF 使用 Composition API 做高性能渲染 当然这需要来聊下 DWM 是怎么工作的,从大佬的 Windows with C++
开发了一个摸鱼 App 我做了一个简单的 App:摸鱼。 如上图所示,这个 App 就只有一个按钮,点击后假装开始 Windows Update,然后用户就可以光明正大地摸鱼了。...什么是 WinUI 3 WinUI 3 是随 Windows App SDK 提供的适用于 Windows 桌面应用程序和 UWP 应用程序的本机用户体验 (UX) 框架。...简单来说,WinUI 3 将 UWP 的 UI 层分离出来给 Win32 Windows App 使用。...通过 Windows 应用 SDK 生成桌面 Windows 应用 - Windows apps Windows 应用 SDK 的稳定通道发行说明 - Windows apps microsoft_microsoft-ui-xaml...迁移过程中需要将大部分 Windows.* 命名空间替换成 Microsoft.*。不过 Win2D 里还在用 Windows.* 命名空间,所以搞得有些混乱。
从Windows 8系统开始,微软就 引入了WindowsRT(Windows Runtime),它是Windows App 模型的一个中间阶段。...希望能够成为通用应用体系架构。 Windows Phone 8.1发布时,也兼容WRT 。这样有助开发者使用同一代码库创建通用的Windows8 app。...Windows 10 开始引入 UWP,更进一步的发展了Windows RunTime 模型,并将WRT 引入了Windows10 内核中。...UWP 为开发跨设备App提供了可靠的API 层。这就意味着你只需要开发一次,就可在多种设备中运行。并发布到Windows Store,所有的用户都可以下载试用。 ?...这样做的目的,App会就可以使用所有设备族群,(从通用设备族群派生的) 限制App 适应某一种设备 限制App适应某一类设备 排除只支持某一特殊版本的设备族群 UI 和通用输入 UWP App能够在具有不同特征的设备中运行
Windows Terminal 在 Windows 上是一款 UWP 应用,然而其依然具有良好的与外部工具的集成特性,你可以在其他各种工具中配置使用 Windows Terminal 打开。...\WindowsTerminal.exe 下,但是你并没有权限直接去运行 UWP 应用的 exe 入口。...如果需要在特定的工作目录下打开,则需要修改配置。请点击设置按钮打开配置文件,然后修改默认终端的 startingDirectory 属性,从 %USERPROFILE% 修改到其他路径: ?...如下图是我在 Directory Opus 中设置的 Windows Terminal 的一键打开按钮: ?...关于 Directory Opus 集成工具可以参见我的其他博客: 在 Directory Opus 中添加自定义的工具栏按钮提升效率 - walterlv Directory Opus 使用命令编辑器添加
在这方面,可以把MAUI看作是Windows Forms这类较旧的界面工具包。例如,这意味着在 MAUI 中不支持在按钮内放置图标或图形,而在其他的XAML框架中则很容易实现。...什么是Lookless Controls WPF控件的行为是固定的。例如,按钮有一组固定的事件,包括单击事件。不管你用按钮控件做什么操作,它仍然会有一个点击事件。 WPF控件没有固定的“外观”。...Uno Platform通过WinUI/UWP直接支持Windows桌面应用,因此在Windows桌面原生应用中获得了最高的排名,需要注意的是,在Uno Platform中,某些后端和平台缺少其他后端和平台具有的功能...它对Windows的支持是一流的,只是因为不是原生UI,所以排在WinUI或WPF之后。然而,Avalonia在桌面应用程序中没有明显的短板,许多桌面应用程序已经在使用它了。...它现已为桌面应用开发人员准备就绪,尤其是那些已有WPF代码的开发人员。对于UWP/WinUI开发人员来说,这个过渡不太平滑,但在版本11中添加了UWP/WinUI的最新功能以改进过渡。
中使用GridViewEx,开发UWP应用。...Demo 下载: GridViewLiveTiles.zip GridViewEx.zip GridViewDemo.zip 开发UWP应用程序 开发UWP应用程序最好是从创建empty项目开始,重用已开发的一些模块...无论是WinRT还是UWP应用,都会使用返回键导航。桌面WinRTx应用会在Xaml文件添加返回按钮。...但是在UWP应用中,非常灵活,桌面应用可以在标题栏中添加返回按钮,在移动设备中不仅能使用标题栏中的返回键,也可以使用物理返回键实现导航功能。UWP的方法比较通用,且不需要编写自定义的Xaml文件。...如果想保证应用程序在Windows10中具有与系统一致的界面风格和用户体验,可使用Windows 10 ThemeResources (主题资源)。 2.
不过目前FDS中材质的应用场景有明确规定,并不是和以前材质化泛滥时一样连所有按钮都材质化。从材质的回归可以看出UWP的承载主体已经从屏幕延伸到MR。 Acrylic是目前FDS主打的材质。...简单来说Acrylic只是一个Brush,UWP提供了一组Acrylic Brush给开发者使用,通过ThemeResource找到资源名字中包含“Acrylic”的Brush即可轻松在应用中使用Acrylic...Background acrylic 透视整个应用UI,可以看到应用窗体后的其它应用或桌面(在ThemeResource中名称包含 -AcrylicWindow-)。 ?...但我觉得重申这个主题十分重要,UWP诞生的目的就是为了打造能在各种设备上运行的通用应用,伸缩性对UWP至关重要。即使只针对桌面设备,能有各种输入方式对可用性都有很大提高。...可惜随着最近移动系统的流行,设计师越来越习惯设计只针对触摸的UI,连带影响到桌面应用,快捷键越来越少,有些设计师甚至拒绝提供按钮的PointerOver效果。
4.1 使用HamburgerMenu代替NavigationView UWP Community Toolkit中的HamburgerMenu是以前制作汉堡包导航菜单最常用的方案,升级到2.0版本以后它会判断运行的...,从RTM开始到秋季创意者更新的版本号分别为1到5。...但这不妨碍大量模仿MetroUI的桌面应用和网站,从这方面来看MetroUI本身还算是成功的。 Windows10时代,ModernUI代替了MetroUI。...文档方面,Material Design有很详细的使用规范、指导原则,而且有面向设计师的文档,而FDS还太过空泛,文档主要是面向开发者的,各种规范分布在UWP的开发文档中。...当年也曾热衷于在桌面上使用Metro,但现在对在WPF上使用FDS没什么兴趣。何况这个主题是讨论UWP中额FDS,不太想涉及WPF。
我们今天要聊的内容主要桌面开发四个方面:Windows平台、.NET Core 3 平台上的WPF,Winform, 应用打包解决方案 MSIX 和 XAML 群岛访问原来UWP的控件,让我们的应用程序迅速现代化...托管在 XAML 岛中的 UWP 控件也可在面向 .NET Core 3 的 Windows 窗体和 WPF 应用中使用。...使用.NET Core 3 升级Windows 桌面应用开发的好处还有很多,下面简要的列几条: •现代运行时、BCL 和语言功能 •更容易访问平台和设备的API •现代化 且可访问的的UI和输入 •针对...开始,可以将 UWP XAML 控件直接添加到与窗口句柄 (HWND) 关联的 WPF、Windows 窗体或 C++ Win32 应用中的任何 UI 元素。...这意味着,你可以将最新的 UWP 功能(例如 Windows Ink 和支持 Fluent Design System 的控件完全集成到 Windows 以及桌面应用的其他显示表面中去。
于是 WinUI 将 UWP 的 UI 层从 Windows SDK 的其它部分分离,并将从 Windows 转移到 Nuget。...安装 Visual Studio 时要把以下工作负载全都选上: .NET 桌面开发 通用 Windows 平台开发 使用 C++ 的桌面开发 适用于通用 Windows 平台负载的 C++(V142)...Visual Studio 生成的第二个项目是一个 Windows 应用程序打包项目,该项目经配置后可将应用生成为适合部署的 MSIX 程序包。 也就是说 UWP 项目中用于打包的部分被独立出来了。...这个项目还应该是解决方案的启动项目。运行这个项目后创建的应用会添加到开始菜单中,这点也和UWP一样。...而且 UWP 中代码的命名空间以 Windows.UI 开头,在 WinUI 3 中则 Microsoft.UI ,按着 Office 365 改名为 Microsoft 365、Bind Ads 改名为
很多朋友在开发过程中遇到的问题就是,如果在Visual Studio中面向高版本系统创建的UWP应用,在没有安装对应Windows SDK的Visual Studio中,项目加载就会失败。...举个例子,如果用户在安装了14393 Windows SDK的Visual Studio中,创建了面向14393系统的UWP应用,那么,该工程在没有安装14393 Windows SDK的Visual...Studio安装程序,点击其中的Modify按钮,如下图所示。...点击Update以后,Visual Studio会更新,安装对应平台的SDK,这样,就可以开发所有平台的UWP应用程序了。 2....这样,把完成转换后的应用程序工程拷贝到其他的安装了对应Windows SDK版本的机器中,就可以在Visual Studio中打开工程了。
目录 声明 现有功能 如何安装应用 最低需求 使用应用安装脚本安装应用 使用应用安装程序安装应用 更新应用 屏幕截图 使用到的开源模块 鸣谢 声明 本程序是酷安的第三方客户端,仅用作学习交流使用,禁止用于商业用途...若程序来源无异常,程序运行过程中您的所有数据都仅用于与酷安的服务器交流或储存于本地,开发者不会窃取您的任何数据。但即便如此,也请注意使用环境的安全性。...Feature2分支支持Windows 10 Build 15035及以上 至少100MB的空余储存空间(用于储存安装包与安装应用) 使用应用安装脚本安装应用 下载并解压最新的安装包(UWP_x.x.x...右击Install.ps1,选择“使用PowerShell运行” 应用安装脚本将会引导您完成此过程的剩余部分 使用应用安装程序安装应用 下载并解压最新的安装包(UWP_x.x.x.0_Debug_Test.rar...更新应用 下载并解压最新的安装包(UWP_x.x.x.0_x86_x64_arm_Debug.appxbundle) 双击*.appxbundle,单击安装,坐和放宽 ?
UWP应用实现了一次开发,适配不同Windows平台设备。UWP应用能根据尺寸大小自动调整布局,大大降低了开发适配的过程,提升了应用开发整体效率。 UWP应用在不同尺寸设备下的布局和操作逻辑是相近的。...它与Rufus官方支持的windows8的兼容性也很有限。不是每个人都在使用Windows10。如果你只为Windows10设计应用程序,那你就是在伤害用户。...而且,是的,我当时确实考虑过尝试使用UWP层,就像Windows终端的人那样,但我可以肯定地说,如果我这样做的话,我花的时间会比我花在2.x到3.x重新设计上的4个月要长得多,因为这需要我将应用程序分为多个层...把这个添加到常见问题(FAQ)中,这样你就不必一次又一次地回答像我这样的白痴了。 不知道为什么,bnainar还把问题从promising tech修改为promising thing。...现实地说,我不可能看到自己放弃其他一切,每天花8-10个小时,持续4个月或更长时间,仅仅是为了得到一个基本的Linux版本的Rufus,它仍然缺少我认为必不可少的功能(例如创建Windows to Go
前言 最近在做Windows桌面程序开发,最初考虑到团队的技术构成(没有.NET开发),决定用Electron作为解决方案来开发,但是最后因为需要实现应用向其它未处于激活状态的应用发消息的功能无法通过自带的...(WPF) 是不相同的,虽然都可以做界面和桌面开发,但是 UWP 是一个新的 UI 框架,而且 UWP 是支持很多平台,至少比 WPF 多。...可以使用 Windows Forms、WPF、和 UWP 来构建Windows 应用程序 ASP.NET MVC 的 Web 应用。....NET Core 支持 Windows Forms、 WPF、UWP和 ASP.NET Core。 UWP用于构建 Windows10 目标Windows和移动应用程序。...这将使得开发者能够更灵活地将 UWP 中一些更现代化的接口引入到 WPF 和 Windows Forms 中。
典型的上架应用商店的应用有微信、Telegram、Snipaste 等。使用 Desktop Bridge,我们即可以为我们的普通 Win32 应用程序做一个 UWP 的包来。...---- 商店中那些转制的应用 如果你并没有感受到 Win32 转制的商店应用和原生的 UWP 或 PWA 应用有什么不同,可以尝试体验下面的三款转制应用。...而桌面桥提供了一种与 UWP 一致的 Windows 应用包,使用这种 Windows 应用包,普通的 Win32 应用也能访问 UWP 的 API。...当然,并不是所有的 Win32 应用程序都支持直接转制到 UWP,如果应用会动态加载不在安装包中的 dll 或者会试图修改系统文件和配置,那么必须去掉这些代码才能完成转制。...在 Visual Studio 中创建 Windows 应用打包工程 使用 Visual Studio 打开原来的 Win32 程序的解决方案,在解决方案中新建一个 Windows 应用程序包项目(Windows
Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) 是一个构建 Windows 桌面程序的 UI 框架...这就使得应用程序在高 DPI 显示器上也能展示的非常好,即使被无限的伸缩。 WPF 还包含了一个非常灵活的展示模型,例如,基于此,在一个按钮上展示视频都是非常简单的事情。...在 Visual Studio 中,开发者可以使用可视化编辑器进行拖拽式的 UI 构建,当然直接编辑 XAML 也是可行的。...而现在流行的各类 UI 方案中, MVVM 范式的应用也越来越重。不过 WPF 除了 MVVM 本身,还包含有很多相较于 Windows Forms 更为现代化的设计理念。...但是 WPF 依旧坚挺,特别是在一些专业领域的应用中,WPF 表现更为耀眼,例如:同花顺 目前, WPF 已经可以基于 netcore 进行开发。
在 WPF 中很多小伙伴都会遇到渲染性能的问题,虽然 WPF 的渲染可以甩浏览器渲染几条街,但是还是支持不了游戏级的渲染。...在 WPF 使用的 DX 只是优化等级为 9 和 DX 9 差不多的性能,微软在很多开发者的提议开放了现代渲染方法 Composition API 这是 UI 应用的里程碑的技术 现在这个技术只是最小可用版本...2019 .NET Core 下载运行代码 从 github 官方 https://github.com/Microsoft/Windows.UI.Composition-Win32-Samples...这是一个包含在桌面使用的 Windows Runtime API 库和System.Numerics.Vectors 支持向量计算 这里的 HelloComposition 就是最简单的项目,可以通过这个项目了解使用方法...的用户控件 在 CompositionHostControl 这个用户控件,使用的封装的 Visual Layer 在里面的代码和 UWP 的相同 如何使用可以看 UWP 的 Visual Layer
MSIX 如 WDD 上 Kevin Gallo 所述,MSIX 要实现的是一个完备的容器化解决方案,它继承了 UWP 几乎所有的重要特性和优点,可以应用到所有 Win32,WPF,Windows Forms...从描述信息看,项目支持在 Windows,Mac,Linux 上编译,另外还支持在 Windows 上为 Android 平台编译。...实际操作 在官方下载打开后,可以看到首页的操作选项: Desktop Bridge Project -- 可以新建一个项目,把桌面应用转换为 APPX 应用,配置 UWP 应用的各种特性; UWP Appx...-- 可以导入一个 APPX 包,重新对它进行各个配置项的调整; Convert Desktop App -- 可以监控系统中的桌面应用,进行 APPX 的转换; ?...重点看一下应用程序的数字签名部分: 为了让转换后的 APPX 可以直接在系统安装,需要设置数字签名,这里我使用了一个已有的 UWP 应用的 PFX 数字签名文件。
需求 在应用退出时(点击右上角的关闭按钮)弹出一个确认按钮可以说是一个最常见的操作了,例如记事本的“你是否保存”: ? 但这个功能在UWP上居然有点小复杂。这篇文章将解释如何实现这个功能。 2....这个事件会在用户点击窗体右上角的关闭按钮时触发,开发者可以在这个事件里处理保存数据、确认关闭等。最好在App.xaml.cs中的Window.Current.Activate();前后订阅这个事件。...SystemNavigationCloseRequestedPreviewEventArgs还提供了GetDeferral函数,它返回一个Deferral对象,它可以在异步操作中延迟UWP应用生命周期事件的执行...一旦使用了受限功能,应在提交应用到Microsoft Store的时候提供信息以便获得批准,有一些功能只在极其特殊和有限的情况下才获准在提交到 Microsoft Store 的应用中使用,幸好这里时候的...) - Windows UWP applications Microsoft Docs Windows 10 UWP 应用生命周期 - UWP apps Microsoft Docs
领取专属 10元无门槛券
手把手带您无忧上云