매력적인 애니메이션이 있는 주야간 테마 전환을 위한 사용자 정의 WPF ToggleButton 기반 컨트롤
ThemeSwitch는 WPF ToggleButton을 기반으로 구축된 CustomControl로, WPF 애플리케이션에서 테마 전환을 위한 매력적인 시각적 요소를 제공하도록 설계되었습니다. 주간과 야간 테마 사이의 부드러운 전환을 위한 애니메이션을 특징으로 하며, 고급 WPF 기술과 사용자 정의 컨트롤 개발을 보여줍니다.
![](https://private-user-images.githubusercontent.com/101777355/354907611-b8d3b29e-2398-49b2-bb9d-59c5b0fa0aa1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii8xMDE3NzczNTUvMzU0OTA3NjExLWI4ZDNiMjllLTIzOTgtNDliMi1iYjlkLTU5YzViMGZhMGFhMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwMjU2MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNDg4ZjEzNGNjYmNiMjFiYjFlMzY0NTExMzUzZjAwNDFiMTFhNmNjMGI2YTVhMDI1ODczNzZiNTQ1YTg2MTc2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.YAq6PM3yWbduNJLBweu_J9TUySNx7KBC2d4qpFxaF3Y)
![](https://private-user-images.githubusercontent.com/101777355/354907678-9c835cdf-dd08-4e2d-bacb-4183d8366b1e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii8xMDE3NzczNTUvMzU0OTA3Njc4LTljODM1Y2RmLWRkMDgtNGUyZC1iYWNiLTQxODNkODM2NmIxZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwMjU2MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kMzc2OTAyZWY2MDcwYmFkZGYyMjhlMzBlYzJmYjFjMmM5NGI2NGJjZmYxNmQ1MWY4YjJmN2ZjNTc4ZmM1ZjU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.bbvmz_UDood6D_orIXhRIe8x3u_uZv3viIsKqL0xjeg)
![](https://private-user-images.githubusercontent.com/101777355/354907737-d77d1c5c-0f39-4d80-bbab-a47523c4a5f0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii8xMDE3NzczNTUvMzU0OTA3NzM3LWQ3N2QxYzVjLTBmMzktNGQ4MC1iYmFiLWE0NzUyM2M0YTVmMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwMjU2MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xOTMxNmVjODkwNTU2NmE0M2M2ZTI0YmEwMzM1MWE0YjI4ZjY0NmVjOTBhZTM0ZGNiZTY0Nzk1MmQ1ODE4MWFmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.j8iQzIXFnJB418N-WiN-MT1CkRl84vIR8CfwKoLsH_s)
![](https://private-user-images.githubusercontent.com/101777355/354907840-334aaa17-493d-4e24-b9b5-d1fd2a6ad8aa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii8xMDE3NzczNTUvMzU0OTA3ODQwLTMzNGFhYTE3LTQ5M2QtNGUyNC1iOWI1LWQxZmQyYTZhZDhhYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwMjU2MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03ODBhZDUzOWE3MjI5ZmE5YTg0ZTc3MmU0NGQ1NmMxODNhZTA1ZmNhMDg1MGM3OGQwYWE3YjM1NjliZjBmYTY4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.kUDYTC0dGkP7CrOhxSJrRUmbxgUyXTihwIVjbqoYwus)
![](https://private-user-images.githubusercontent.com/101777355/354907801-83e5cbb5-c8d2-4dad-acd0-b3cae7dc9a6d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii8xMDE3NzczNTUvMzU0OTA3ODAxLTgzZTVjYmI1LWM4ZDItNGRhZC1hY2QwLWIzY2FlN2RjOWE2ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwMjU2MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNTdlMjMyNjcxMThiZDhhNDgxNmJjNzc0MDgzMTVjYjIwNzI2NGYyYjc3OGRlZTg3YzYxMTY4YWFlMmU0NGQwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.SYrxbWjmkRitRVDFMh0dkf6-o83GdJ5TQXN9sFT58do)
![](https://private-user-images.githubusercontent.com/101777355/354907765-f2fe09b0-1fc1-43d5-8351-df7e348bad67.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii8xMDE3NzczNTUvMzU0OTA3NzY1LWYyZmUwOWIwLTFmYzEtNDNkNS04MzUxLWRmN2UzNDhiYWQ2Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwMjU2MDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YjFlMWEzZGJmMGRlMTM2NDk1ZDQxZTQ0NTIxNDk1ZWYwZmJjNTdiMDgxNTBmYTZiZmIwYWZkZGZhZGIwYjBiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._65yCXzvnGi5muDlVsGMhAtuFiG3TIPl3EKbIuu-OTs)
- 특수 기능을 위한 WPF ToggleButton 확장
- XAML을 사용한 복잡한 UI 요소 구현
- 세 가지 유형의 애니메이션: ValueItem (DoubleAnimation), ThickItem (ThicknessAnimation), ColorItem (ColorAnimation)
- 주간과 야간 테마 사이의 부드러운 전환
- 순수 XAML을 사용한 복잡한 모양 (태양, 구름, 달, 별) 생성
- 현실적인 효과를 위한 불투명도 및 위치 조정 활용
- 클리핑 및 레이아웃 기술을 사용한 효율적인 렌더링
- 외부 종속성 없는 부드러운 애니메이션
- 다중 타겟팅을 통한 다양한 .NET 프레임워크 지원
- WPF (Windows Presentation Foundation)
- .NET (다중 타겟팅 지원)
- C#
- Visual Studio 2022 이상
- .NET SDK (프로젝트에 따른 버전)
git clone https://github.com/vickyqu115/themeswitch.git
- Visual Studio
- Visual Studio Code
- JetBrains Rider
![](https://private-user-images.githubusercontent.com/52397976/354799051-af70f422-7057-4e77-a54d-042ee8358d2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTkwNTEtYWY3MGY0MjItNzA1Ny00ZTc3LWE1NGQtMDQyZWU4MzU4ZDJhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDAyNTYwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkZGEyZDgzMzc5MzJkZTcxODI4ZjQ3MmNhNzNmOGIzYTc2M2RjNTg5NmM5M2VlMWQ2ZjRiNWI0Y2NlYzUzY2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.arwrwhd00aeo8auTe-RAzIrGwKKfmn8KpT1gtYA8Ho8)
![](https://private-user-images.githubusercontent.com/52397976/354799195-e4feaa10-a107-4b58-8d13-1d8be620ec62.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTkxOTUtZTRmZWFhMTAtYTEwNy00YjU4LThkMTMtMWQ4YmU2MjBlYzYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDAyNTYwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ZDQzNjc0OWM2NjQzY2NhZDRkOTg3Y2IwMzAwZTE5NDNiYjUxZmM0ZjQyYmJlYzE4Yjc3YWVjN2U3OWY0MGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.sK4aKVlpQ4MrLUrbe-vSa4yHavjy3r8rEBk5345RTtQ)
![](https://private-user-images.githubusercontent.com/52397976/354799464-5ff487f6-55e4-43e1-9abf-f8d419ee6943.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTU2NjMsIm5iZiI6MTczOTQxNTM2MywicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTk0NjQtNWZmNDg3ZjYtNTVlNC00M2UxLTlhYmYtZjhkNDE5ZWU2OTQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDAyNTYwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYxZWNlNmZkY2ZlNTUxNzE2MzU0NmY0YWI0YTRkODE0OGRjMzFlMWQ0YTI5MmM2YTIxOWQ0NTkwNTcwMzhhNDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QveyFKlxBusrdkImeDl9I-1iiCue2A_gbYBhfWbdlsk)
- 시작 프로젝트 설정
- F5를 누르거나 실행 버튼 클릭
- Windows 11 권장
ThemeSwitch에 대한 기여를 환영합니다! 이슈를 제출하거나, 풀 리퀘스트를 생성하거나, 개선 사항을 제안해 주세요.
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
- 웹사이트: https://jamesnet.dev
- 이메일: [email protected], [email protected]
매력적인 ThemeSwitch 컨트롤로 WPF 애플리케이션을 향상시켜 보세요!