Skip to content

JamesnetGroup/themeswitch

Repository files navigation

ThemeSwitch English 中文 한국어

A customizable WPF ToggleButton-based control for day and night theme switching with engaging animations

License: MIT .NET Stars Issues

Project Overview

ThemeSwitch is a CustomControl built on top of the WPF ToggleButton, designed to provide an engaging visual element for theme switching in WPF applications. It features smooth animations for transitioning between day and night themes, demonstrating advanced WPF techniques and custom control development.

Key Features and Implementations

1. Custom WPF Control Development

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

2. Advanced Animation Techniques

  • Three types of animations: ValueItem (DoubleAnimation), ThickItem (ThicknessAnimation), ColorItem (ColorAnimation)
  • Smooth transitions between day and night themes

3. XAML-Based Design

  • Creation of complex shapes (sun, clouds, moon, stars) using pure XAML
  • Utilization of opacity and positioning for realistic effects

4. Performance Optimization

  • Efficient rendering using clipping and layout techniques
  • Smooth animations without external dependencies

5. Multi-Framework Compatibility

  • Support for various .NET frameworks through multi-targeting

Technology Stack

  • WPF (Windows Presentation Foundation)
  • .NET (Multi-targeting support)
  • C#

Getting Started

Prerequisites

  • Visual Studio 2022 or later
  • .NET SDK (version depending on your project)

Installation and Execution

1. Clone the repository:

git clone https://github.com/vickyqu115/themeswitch.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 ThemeSwitch 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 the engaging ThemeSwitch control!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages