开源项目更新|WPF/Uno Platform/WinUI 3三个版本的《英雄联盟客户端》
哈喽大家好!
我们是中韩Microsoft MVP夫妇 Vicky&James^^很高兴能加入博客园和大家分享我们的技术!
自2008年以来,我们一直深耕于WPF技术,积累了丰富的经验。这些年来,随着Xamarin、MAUI、Uno-Platform、AvaloniaUI和OpenSilver等跨平台技术的不断发展,我们也将在WPF中积累的技能成功地拓展到了各种跨平台项目中。
多年前我们发布的《用WPF重现英雄联盟客户端》项目获得了大家不少支持和关注,非常感谢大家!
最近,基于这个WPF版本,我们又开发出了跨平台的UnoPlattform和WinUI 3两个版本。这两个新版本继承了WPF的XAML丰富用户体验、C#的面向对象设计以及系统化的项目结构,同时也给我们带来了新的挑战和成长。
与此同时,我们也对原有的WPF版本源码进行了全面更新。因此大家可以通过我们的源码非常清晰地比较 WPF / Uno Platform / WinUI 3这三者在项目构建和呈现上的异同。








为了统一WPF/WinUI3/Uno仓库的项目架构,我们基于.NET Standard 2.0设计了一个可在所有平台上运行的框架,无需依赖第三方库。这个框架直接实现了项目分散化、模块化、视图注入、依赖注入、单例模式和MVVM等基于XAML的项目架构所需功能。采用这种方法,我们可以在不同版本(如WPF、Uno和WinUI3)之间转换时,大大减少不必要的转换工作。模项目。我们将复杂的控件实现为CustomControls,旨在为开发人员提供丰富的学习资料。
此外,项目还包含了WPF、Uno和WinUI3的各种技术实现案例,展示了如何在实际项目中充分利用这些技术和平台的强大功能。
项目中,从小型控件到复杂视图,所有组件均基于CustomControl构建。这种方法大大增强了项目的可移植性和灵活性,使得将整个项目迁移到其他基于XAML的平台变得更加便捷和高效。
为了帮助更多人了解和学习WPF以及相关的跨平台技术,我们已经将这三个项目开源。大家可以在我们的GitHub账号中查看和下载:
别忘了点击Star和Fork,也欢迎分享给身边的小伙伴!你们的支持是我们持续开源分享的动力!️
英雄联盟客户端 (WPF)
英雄联盟客户端 (Uno-Platform)
英雄联盟客户端 (WinUI 3)
更详细的项目介绍大家可以直接在GitHub项目中查看和学习,如有任何相关疑问,也欢迎通过Discussions参与讨论。
除了源码外,我们还在积极准备相关的系统教学视频,这些视频也将很快和大家见面^^
开源项目更新|WPF/Uno Platform/WinUI 3三个版本的《英雄联盟客户端》的更多相关文章
- .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5
		
.NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5 一个使用 Prism 作为模块化框架.基于多个开源控件库作为UI控件选择.集成开源 UI 界面设计的 .NET ...
 - Android开源项目分包方式学习(eoe、oschina、github)
		
总感觉Android中关于分包的文章很少,或者几乎可以说没有.但是合理地分包,又可以使整个项目模块化,减少包与包之间的依赖,让整个项目的框架更加清晰,更利于后续功能的拓展. 因为没有相关的文章,所以这 ...
 - Android 上传开源项目到 jcenter 实战踩坑之路
		
本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...
 - Android开发:为什么我们从来不去感谢开源项目维护者?
		
今天我想谈一谈,为什么我们很少去感谢开源项目维护者: 一.这样的项目我也可以做啊 “蛤?这项目对我来说也太简单了吧.” “我一周之内就能做一个更好的版本出来.” 确实,很多人都可以在 Hackatho ...
 - 这些 .Net and Core 相关的开源项目,你都知道吗?(持续更新中...)
		
最近更新时间2017-12-28 序列化 Json.NET http://json.codeplex.com/Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Ne ...
 - .NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1
		
系列目录 [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...
 - .NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2
		
系列目录 [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...
 - 能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork
		
大家好,我是沙漠尽头的狼,今天介绍一个WPF开源项目-NodeNetwork,它可以帮助我们快速构建和定制网络拓扑图. 一.前言 在现代软件开发中,数据可视化和可交互性越来越受到关注.为了实现这一点, ...
 - 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
		
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
 - 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
		
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
 
随机推荐
- PHP数组遍历的四种方法
			
PHP数组循环遍历的四种方式 [(重点)数组循环遍历的四种方式] 1,https://www.cnblogs.com/waj6511988/p/6927208.html 2,https://www ...
 - Python编写html文件
			
背景:部门需要发送周报.月报,每次都需要去数据库导出数据整理统计发送给领导,人工操作显得繁琐且费时间. 1.可以定时用python将数据库查询数据结果写成html文件,达到浏览器访问的效果,定时发送给 ...
 - 位段 -- 内存布局详解C语言
			
目录 位段的介绍 位段使用示例: 位段的内存分配 Example 内存分配解析: ## 位段 位段的介绍 位段(二进制位):就是按位存储 位段(bit-field)是C语言中的一种特殊数据类型,它允许 ...
 - vue项目之主页布局
			
1.背景 2.基本结构 代码: <template> <el-container class="home-container"> <!-- 头部--& ...
 - Mysql 不用Json存储 List<Long>的方式
			
public static void main(String[] args) { List<Long> idList = new ArrayList<>(); for (int ...
 - WPF如何给window加阴影效果
			
<Style x:Key="WindowStyle1" TargetType="{x:Type Window}"> <Setter Prope ...
 - JavaScript设计模式样例九 —— 桥接模式
			
桥接模式(Bridge Pattern) 定义:是用于把抽象化与实现化解耦,使得二者可以独立变化. 目的:将抽象部分与实现部分分离,使它们都可以独立的变化. 场景:实现系统可能有多个角度分类,每一种角 ...
 - 2024-08-24:用go语言,给定一个下标从1开始,包含不同整数的数组 nums,数组长度为 n。 你需要按照以下规则进行 n 次操作,将数组 nums 中的所有元素分配到两个新数组 arr1 和
			
2024-08-24:用go语言,给定一个下标从1开始,包含不同整数的数组 nums,数组长度为 n. 你需要按照以下规则进行 n 次操作,将数组 nums 中的所有元素分配到两个新数组 arr1 和 ...
 - 编译器实现之旅——第十三章 if语句和while语句的代码生成器分派函数的实现
			
在上一章的旅程中,我们已经实现了表达式类代码生成器分派函数,而在这一章的旅程中,我们将要实现if语句和while语句的代码生成器分派函数.if语句和while语句是两种典型的带有跳转指令的语句.观察C ...
 - Java面试集锦(一)
			
计算机网络 摘要:1. 在浏览器中输入url地址 显示主页的过程,整个过程会使用哪些协议 image.jpeg总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回 ...