A high-fidelity recreation of the League of Legends client using WPF, showcasing advanced WPF techniques and the power of Jamesnet.Wpf
This project is a faithful reproduction of the League of Legends client interface using WPF technology. It demonstrates the capabilities of WPF and the Jamesnet.Wpf framework in creating complex, high-performance user interfaces identical to modern game clients.
![](https://private-user-images.githubusercontent.com/52397976/354904377-9aa294d7-be6d-48ac-8d81-8d8eeb2d79dd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDQzNzctOWFhMjk0ZDctYmU2ZC00OGFjLThkODEtOGQ4ZWViMmQ3OWRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRlNjA4MWNhNzA5NWJhNDE5NjBlMTRiYmViMmNmMzU5OTliZjA5YTRhZDA0YWE0NDQwYmI3NDIwMDljMDk4YzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bkkvJBx_1NnJVc7xzsHEvIqj7JvtdUCbpqfJ9TKXbb0)
![](https://private-user-images.githubusercontent.com/52397976/354904450-ecb3f8e5-829f-4c44-ad1e-db4f61aeed19.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDQ0NTAtZWNiM2Y4ZTUtODI5Zi00YzQ0LWFkMWUtZGI0ZjYxYWVlZDE5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg2OWRkOWQxODAxNmU0NjU3Yzk0MzVmNDM0OTY1NTM4ZTgwMDI2NzViYjc2ZTE1Y2I0Y2Y2ZjFjMWY5ODE5MTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.J2gpih7KF5aMp91J7ZXhGMB_6IWoRTlpYN7AW28m8sA)
![](https://private-user-images.githubusercontent.com/52397976/354905037-0ec377bc-3242-4dbb-9e8e-d763ca8984e5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDUwMzctMGVjMzc3YmMtMzI0Mi00ZGJiLTllOGUtZDc2M2NhODk4NGU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMwZjc4MWZmY2JmOTkyMDlhMjEzNzU1YzRjNTM3YTgyNmVkZGVlNTQzOWE4ZTIwMjE2NWMxZDVjNGE0MzFjYjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.H0Cf5JxkYW-vGjj88g19AfGFvq1kpkXw8_ao7bseAbY)
![](https://private-user-images.githubusercontent.com/52397976/354904663-f7313f69-9255-4509-ba8c-2c1d9bdbc80e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDQ2NjMtZjczMTNmNjktOTI1NS00NTA5LWJhOGMtMmMxZDliZGJjODBlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ODU3NWU1YmNkYzkzOTQwZmUxZWNmODYxMDU2ZDRmMmZkODRhZDVhZTI2OTg2OGFiNDc4NGU4OTU5ZGRiYmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.e0PE7o8ICUgpEoC0NMYuZwqvJKG4jkR1WnyGqtWmeXI)
![](https://private-user-images.githubusercontent.com/52397976/354904747-2afe65fe-5189-403b-b042-f184f974bbcf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDQ3NDctMmFmZTY1ZmUtNTE4OS00MDNiLWIwNDItZjE4NGY5NzRiYmNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI2MGNiNDg1NjQ4MThlYWE1YjdjMjhlMmIwOGFlNmJmZjhmNzBjZTA5YWJiM2JlMDFmOTAwMjA1ZWRjMjQwMGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.2wfIiaTvS4k_2vwyUcM1oIq0048jo5zNvL8GehoTApo)
![](https://private-user-images.githubusercontent.com/52397976/354904950-57c4f317-68c0-46fa-9e76-b46aeab617d0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDQ5NTAtNTdjNGYzMTctNjhjMC00NmZhLTllNzYtYjQ2YWVhYjYxN2QwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI1NThkZjMzOWFjYzhmMDlmNDUzNDg3ZjkzYTlmMTgxNGZmMjQ5N2VmZDI3ZThhZTNmMjg4Y2I2OTU4ZmEzNGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.dh7EmaJNKXFJTZH5RnVSbybxvZTmhIRfUWaG-s5JzIo)
![](https://private-user-images.githubusercontent.com/52397976/354904980-1db54994-a3bc-469e-9ca8-b537473f3773.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDQ5ODAtMWRiNTQ5OTQtYTNiYy00NjllLTljYTgtYjUzNzQ3M2YzNzczLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTllMTM1ODVlNTExMTRiOGFkZWY2ZDExYjIwNzg4YjNkMDNhMzQ5ZTZhNDZjNmZhYmZkMmNiOWE1MWM4Mjg3YWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Ag_uc-WSgtJiMCOjAqp2joc4wJ4JDVgHfcZqq_KOegA)
![](https://private-user-images.githubusercontent.com/52397976/354905227-dc8159c1-dbdd-43ad-865e-6a593882a3b9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ5MDUyMjctZGM4MTU5YzEtZGJkZC00M2FkLTg2NWUtNmE1OTM4ODJhM2I5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE5YTk2YjdmOWQ0MWU5ZTRhNDRiZjlhZTVmODdjYTQyOWU5MTMwNTJkNDM2MTIzNTZiYmM0NmZkMjZjOGI0NTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rIGOMYaZe2b1KQZhm4HBwu-SjUeHYkAEbXY1VOwZGNc)
- Utilization of Jamesnet.Wpf for enhanced WPF development
- Implementation of dependency injection for flexible and maintainable code
- Project modularization and distribution for improved scalability
- Use of CommunityToolkit.Mvvm for code generation and MVVM pattern implementation
- Clear separation of concerns between View and ViewModel
- Development of custom WPF controls to match League of Legends UI components
- Extensive use of ControlTemplates for unique visual designs
- Implementation of intricate design elements using Geometry Path
- Pixel-perfect recreation of the League of Legends client interface
- Efficient rendering and resource management for smooth UI interactions
- Optimized data binding and UI virtualization techniques
- .NET 8.0
- WPF (Windows Presentation Foundation)
- Jamesnet.Wpf
- CommunityToolkit.Mvvm
- Visual Studio 2022 or later
- .NET 8.0 SDK
- Jamesnet.Wpf NuGet package
git clone https://github.com/jamesnet214/leagueoflegends.git
- Visual Studio
- Visual Studio Code
- JetBrains Rider
![](https://private-user-images.githubusercontent.com/52397976/354799051-af70f422-7057-4e77-a54d-042ee8358d2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTkwNTEtYWY3MGY0MjItNzA1Ny00ZTc3LWE1NGQtMDQyZWU4MzU4ZDJhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJlNzE4ODNjOWZiODM2ZmJhZGRlYmQ5YTY2YzAxNmQ5NzE1NjUzZTg4NWYxNThjNDcyOTYzMTQ4MDBiYTQyMzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.j683eNvUJtozJLqCG3hvIGr5mtxXymk6xQTg98_PC4Q)
![](https://private-user-images.githubusercontent.com/52397976/354799195-e4feaa10-a107-4b58-8d13-1d8be620ec62.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTkxOTUtZTRmZWFhMTAtYTEwNy00YjU4LThkMTMtMWQ4YmU2MjBlYzYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNkNDQ0MTcwOWMxZTU2MTkwNjBhOGMxYmZkOGMxOTJiZGM5MDU0OGRiMzA4YWM3MzY0YjYyYTljMDkyZDBiNWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.m9TzbOmxsfcF_gk4n022amCJDmALJniPT7EoGEKxIE8)
![](https://private-user-images.githubusercontent.com/52397976/354799464-5ff487f6-55e4-43e1-9abf-f8d419ee6943.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTczOTMsIm5iZiI6MTcyNTE1NzA5MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTk0NjQtNWZmNDg3ZjYtNTVlNC00M2UxLTlhYmYtZjhkNDE5ZWU2OTQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAxVDAyMTgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg5YjNjNGE3M2E3N2MwOTA5NGZmYTEwNWMyNmM1OTk5ZGJjN2EyOThjNjNjODk2YTA2M2JhM2Q1OTQzNTgyNmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.SgcIuGhcCimogRYm6eAjCKKSHEyTomHePLVNqLlpap4)
- Set the startup project
- Press F5 or click the Run button
- Windows 11 recommended
This project offers valuable insights for WPF developers:
- Complex UI Recreation: Learn techniques for recreating sophisticated user interfaces
- Custom Control Development: Understand the process of building custom WPF controls
- MVVM in Practice: See real-world implementation of MVVM pattern in a complex application
- Geometry Path Usage: Master the use of Geometry Path for intricate UI designs
- Performance Optimization: Learn strategies for optimizing large-scale WPF applications
Contributions to the League of Legends Client (WPF) project are welcome! Feel free to submit issues, create pull requests, or suggest improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
- Website: https://jamesnet.dev
- Email: james@jamesnet.dev, vickyqu115@hotmail.com
Experience the power of WPF in recreating complex game interfaces with this League of Legends client recreation!