{"id":26371491,"url":"https://github.com/jamesnetgroup/dynamic-theme","last_synced_at":"2025-03-17T00:39:18.507Z","repository":{"id":257188298,"uuid":"857334412","full_name":"JamesnetGroup/dynamic-theme","owner":"JamesnetGroup","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-11T03:50:33.000Z","size":623,"stargazers_count":22,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T20:34:05.503Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamesnetGroup.png","metadata":{"files":{"readme":"README.ko.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["vickyqu115"]}},"created_at":"2024-09-14T11:32:30.000Z","updated_at":"2025-03-01T06:39:47.000Z","dependencies_parsed_at":"2024-09-15T08:00:40.978Z","dependency_job_id":"4909d9be-f73c-4421-bc28-6d74847ae525","html_url":"https://github.com/JamesnetGroup/dynamic-theme","commit_stats":null,"previous_names":["jamesnetgroup/dynamic-theme"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fdynamic-theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fdynamic-theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fdynamic-theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fdynamic-theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesnetGroup","download_url":"https://codeload.github.com/JamesnetGroup/dynamic-theme/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955737,"owners_count":20374372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-17T00:39:17.859Z","updated_at":"2025-03-17T00:39:18.497Z","avatar_url":"https://github.com/JamesnetGroup.png","language":"C#","funding_links":["https://github.com/sponsors/vickyqu115"],"categories":[],"sub_categories":[],"readme":"\n# Dynamic Theme [![English](https://img.shields.io/badge/docs-English-blue.svg)](README.md) [![中文](https://img.shields.io/badge/docs-中文-red.svg)](README.zh-CN.md) [![한국어](https://img.shields.io/badge/docs-한국어-green.svg)](README.ko.md)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![.NET](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com/download)\n[![Stars](https://img.shields.io/github/stars/vickyqu115/dynamictheme.svg)](https://github.com/vickyqu115/dynamictheme/stargazers)\n[![Issues](https://img.shields.io/github/issues/vickyqu115/dynamictheme.svg)](https://github.com/vickyqu115/dynamictheme/issues)\n\nWPF를 사용하여 블랙\u0026핑크 스타일의 동적 테마 전환 메커니즘 구현하기.\n\n## 프로젝트 개요\n\nDynamicTheme 프로젝트는 WPF의 실시간 테마 전환에 관한 고급 기술을 심도 있게 다룹니다. 이 프로젝트는 리소스 관리, 최적화 전략 및 동적 테마 구현을 포함하며, 개발자들의 엔터프라이즈급 WPF 애플리케이션 설계 능력 향상을 목표로 합니다.\n\n\u003cimg src=\"https://github.com/user-attachments/assets/25ca2412-2290-4e38-93bb-60df532938bb\" width=\"100%\"/\u003e\n\n### WPF 고급 튜토리얼: 실시간 테마 전환 및 리소스 관리\n\n이 종합적인 WPF 튜토리얼에서는 실시간 테마 변경을 위한 고급 프로젝트 설계 기술을 깊이 있게 다룹니다. 주요 내용은 다음과 같습니다:\n\n1. **StaticResource와 DynamicResource의 심층 분석**\n   - 내부 작동 원리, 특성, 사용 방법 및 성능 차이\n\n2. **리소스 관리 최적화 전략**\n   - 스타일 리소스의 로딩 타이밍\n   - 오류 처리 전략\n   - 코드 비하인드에서 동적 리소스 생성 및 관리 기술\n\n3. **WPF 핵심 구조 및 관계**\n   - Application과 Current의 관계\n   - Resources와 MergedDictionaries의 차이\n   - ResourceDictionary 그룹 및 효율적인 관리 방법\n\n4. **확장 가능한 ResourceDictionary 관리**\n   - 대규모 프로젝트에 적용 가능한 기술\n\n5. **실시간 테마 전환 구현**\n   - 토글 버튼 사용\n   - Attached Property를 활용한 부드러운 색상 애니메이션 고급 기법\n\n이 튜토리얼은 WPF 리소스 시스템을 설계하고 관리하는 능력을 향상시키는 것을 목표로 합니다. 강력하고 확장 가능한 애플리케이션 아키텍처를 구축하는 방법을 학습함으로써, 복잡한 엔터프라이즈급 WPF 프레임워크 개발을 위한 탄탄한 기술적 기반을 마련할 수 있습니다.\n\n## 시작하기\n### 필요 조건\n- Visual Studio 2022 이상\n- .NET 8.0 SDK\n\n### 설치 및 실행\n#### 1. 리포지토리 복제:\n\n```\ngit clone https://github.com/JamesnetGroup/dynamic-theme.git\n```\n\n#### 2. 솔루션 열기\n- [x] Visual Studio\n- [x] Visual Studio Code\n- [x] JetBrains Rider\n\n\u003cimg src=\"https://github.com/user-attachments/assets/af70f422-7057-4e77-a54d-042ee8358d2a\" width=\"32%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/e4feaa10-a107-4b58-8d13-1d8be620ec62\" width=\"32%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/5ff487f6-55e4-43e1-9abf-f8d419ee6943\" width=\"32%\"/\u003e\n\n#### 3. 빌드 및 실행\n- [x] 시작 프로젝트 설정\n- [x] F5를 누르거나 실행 버튼 클릭\n- [x] Windows 11 권장\n\n## 학습 자료\n- [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/159/Korean)\n- [BiliBili 튜토리얼 (중국어)](https://www.bilibili.com/video/BV1FN41eHE7e/)\n\n## 기여하기\nDynamic Theme에 대한 기여를 환영합니다! 이슈를 제출하거나, 풀 리퀘스트를 생성하거나, 개선 사항을 제안해 주세요.\n\n## 라이선스\n이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세요.\n\n## 연락처\n- 웹사이트: https://jamesnet.dev\n- 이메일: vickyqu115@hotmail.com, james@jamesnet.dev\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesnetgroup%2Fdynamic-theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesnetgroup%2Fdynamic-theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesnetgroup%2Fdynamic-theme/lists"}