Skip to content

Latest commit

 

History

History
152 lines (113 loc) · 8.34 KB

README.zh-CN.md

File metadata and controls

152 lines (113 loc) · 8.34 KB

英雄联盟客户端 (WPF)

English 中文 한국어

这是一个使用WPF技术高质量重现英雄联盟客户端的项目。该项目包含了WPF的各种技术实现,展示了大型项目分布式设计的广泛技术方法。

License: MIT .NET Stars Forks Issues

英雄联盟 XAML-Based 系列:


英雄联盟客户端 (WPF)
英雄联盟客户端 (Uno-Platform)
英雄联盟客户端 (WinUI 3)

项目介绍

我们从2008年开始研究和积累WPF技术经验。这些年来,Xamarin、MAUI、Uno-Platform、AvaloniaUI、OpenSilver等各种基于XAML的跨平台技术不断发展,为我们将在WPF中积累的技术扩展到跨平台开发提供了可能性。

这次发布的英雄联盟WPF版本基于XAML的丰富UX、C#的面向对象设计以及系统化的项目结构构建而成。它充分利用了WPF的强大功能,同时考虑了未来向其他基于XAML的平台扩展的可能性。

该项目展示了如何在WPF中实现大型项目。通过将复杂的控件实现为CustomControl,我们旨在为开发者提供丰富的学习材料。此外,它还包含了WPF的各种技术实现案例,展示了如何在实际项目中利用WPF的强大功能。

特别是,该项目提出了大型应用程序分布式设计的广泛方法。通过模块化结构、高效的状态管理以及可扩展的架构,展示了如何构建和管理复杂的应用程序。

Jamesnet.Core框架库基于.NET Standard 2.0设计,可以在WPF和Uno中同样运行。这个库在WPF中以Jamesnet.Window的形式提供,在Uno-Platform中以Jamesnet.Uno的形式提供。

该项目直接引用了Jamesnet.Core和Jamesnet.Window的实际源代码,使你能够学习基于XAML的框架的设计方法。

通过这个项目,我们旨在展示WPF的强大功能,同时提出未来向Uno-Platform、MAUI、AvaloniaUI、OpenSilver、WinUI3等各种基于XAML的平台扩展的可能性,开辟跨平台开发的新视野。

核心技术栈

仓库中包含所有框架源代码。

  • Jamesnet.Core: 基于.NET Standard 2.0的跨平台核心库
  • Jamesnet.Windows: 为WPF优化的窗口管理和UI框架

这两个库可以在WPF和Uno-Platform中同样使用,并包含了大型项目架构设计所需的所有核心功能。

主要功能和实现

  1. 大型项目架构

    • 模块化和分布式系统设计
    • 通过依赖注入实现松耦合
    • 基于插件的可扩展结构
  2. 高级WPF技术

    • 实现各种CustomControl
    • 使用VisualStateManager进行复杂状态管理
    • 数据虚拟化和UI虚拟化技术
  3. 性能优化

    • 高效的资源管理和内存使用
    • 应用异步编程模式
    • 渲染优化技术
  4. UI/UX设计

    • 使用Geometry Path实现复杂图形
    • 自定义动画和转场效果
    • 动态主题系统
  5. 框架设计

    • 基于事件的通信系统
    • 实现状态管理模式
    • 可扩展的导航系统

该项目充分利用WPF的强大功能,同时全面展示了基于Jamesnet.Core和Jamesnet.Window的高级设计模式和技术。通过提供大型应用程序开发所需的各种技术和模式的实际应用案例,它将成为WPF开发者的丰富学习材料。

我们希望这个项目能够激发WPF开发者的灵感,并成为大型桌面应用程序开发的最佳实践。此外,我们期望通过这个项目,能够探索WPF和Uno-Platform之间的代码共享策略以及跨平台开发的新可能性。

我们计划在未来开发MAUI、WinUI 3、AvaloniaUI、OpenSilver等新平台版本。

技术栈

  • .NET 8.0
  • WPF (Windows Presentation Foundation)
  • Jamesnet.Core
  • Jamesnet.Windows
  • Jamesnet.Uno

入门指南

前置条件

  • Visual Studio 2022或更高版本
  • .NET 8.0 SDK
  • Jamesnet.Wpf NuGet包

安装和执行

1. 克隆仓库:

git clone https://github.com/jamesnet214/leagueoflegends.git

2. 打开解决方案

  • Visual Studio
  • Visual Studio Code
  • JetBrains Rider

3. 构建和运行

  • 设置启动项目
  • 按F5或点击运行按钮
  • 推荐使用Windows 11

学习机会

本项目为WPF开发者提供了宝贵的见解:

  1. 复杂UI重现:学习重现复杂用户界面的技术
  2. 自定义控件开发:了解构建自定义WPF控件的过程
  3. MVVM实践:在复杂应用中看到MVVM模式的实际实现
  4. Geometry Path使用:掌握使用Geometry Path创建复杂UI设计的技巧
  5. 性能优化:学习大型WPF应用的优化策略

贡献

欢迎对英雄联盟客户端(WPF)项目做出贡献!随时提交问题、创建拉取请求或提出改进建议。

许可证

本项目采用MIT许可证 - 详情请参见LICENSE文件。

联系方式

通过这个英雄联盟客户端重现项目,体验WPF在重现复杂游戏界面方面的强大功能!