Skip to content

Latest commit

 

History

History
101 lines (77 loc) · 4.81 KB

README.md

File metadata and controls

101 lines (77 loc) · 4.81 KB

RiotPlayButton English 中文 한국어

A customizable WPF ToggleButton-based control inspired by the League of Legends PLAY button

License: MIT .NET Stars Issues

Project Overview

RiotPlayButton is a custom WPF control that recreates the PLAY button from the League of Legends game client. It demonstrates advanced WPF techniques including custom shape creation, gradient brushes, animations, and efficient XAML design.

Key Features and Implementations

1. Custom WPF Control Development

  • Extension of WPF ToggleButton for specialized functionality
  • Implementation of complex UI elements using pure XAML

2. Advanced XAML Techniques

  • Creation of irregular shapes using Path and Geometry
  • Utilization of LinearGradientBrush for sophisticated color effects

3. Complex Shape Generation

  • Use of Polygon for creating multi-point shapes
  • Implementation of Cubic Bezier curves for smooth, complex curves
  • Application of Quadratic Bezier curves for simpler curved shapes

4. Animation and Interactivity

  • Smooth animations using Jamesnet.WPF Nuget package
  • Interactive mouseover and checked state effects

5. Performance Optimization

  • Efficient rendering using clipping techniques
  • Optimized XAML structure for better performance

6. Faithful Recreation

  • Pixel-perfect recreation of the League of Legends PLAY button
  • Attention to detail in design and functionality

Technology Stack

  • WPF (Windows Presentation Foundation)
  • .NET 8.0
  • C#
  • Jamesnet.WPF Nuget package

Getting Started

Prerequisites

  • Visual Studio 2022 or later
  • .NET 8.0 SDK

Installation and Execution

1. Clone the repository:

git clone https://github.com/vickyqu115/riotplaybutton.git

2. Open the solution

  • Visual Studio
  • Visual Studio Code
  • JetBrains Rider

3. Build and Run

  • Set the startup project
  • Press F5 or click the Run button
  • Windows 11 recommended

Learning Resources

Contributing

Contributions to RiotPlayButton are welcome! Feel free to submit issues, create pull requests, or suggest improvements.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Enhance your WPF applications with this engaging League of Legends-inspired PLAY button, featuring advanced shape generation techniques!