├── LICENSE ├── .gitignore ├── README.zh-CN.md ├── README.ko.md └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 jamesnet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Mono auto generated files 17 | mono_crash.* 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]eleases/ 24 | x64/ 25 | x86/ 26 | [Ww][Ii][Nn]32/ 27 | [Aa][Rr][Mm]/ 28 | [Aa][Rr][Mm]64/ 29 | bld/ 30 | [Bb]in/ 31 | [Oo]bj/ 32 | [Ll]og/ 33 | [Ll]ogs/ 34 | 35 | # Visual Studio 2015/2017 cache/options directory 36 | .vs/ 37 | # Uncomment if you have tasks that create the project's static files in wwwroot 38 | #wwwroot/ 39 | 40 | # Visual Studio 2017 auto generated files 41 | Generated\ Files/ 42 | 43 | # MSTest test Results 44 | [Tt]est[Rr]esult*/ 45 | [Bb]uild[Ll]og.* 46 | 47 | # NUnit 48 | *.VisualState.xml 49 | TestResult.xml 50 | nunit-*.xml 51 | 52 | # Build Results of an ATL Project 53 | [Dd]ebugPS/ 54 | [Rr]eleasePS/ 55 | dlldata.c 56 | 57 | # Benchmark Results 58 | BenchmarkDotNet.Artifacts/ 59 | 60 | # .NET Core 61 | project.lock.json 62 | project.fragment.lock.json 63 | artifacts/ 64 | 65 | # ASP.NET Scaffolding 66 | ScaffoldingReadMe.txt 67 | 68 | # StyleCop 69 | StyleCopReport.xml 70 | 71 | # Files built by Visual Studio 72 | *_i.c 73 | *_p.c 74 | *_h.h 75 | *.ilk 76 | *.meta 77 | *.obj 78 | *.iobj 79 | *.pch 80 | *.pdb 81 | *.ipdb 82 | *.pgc 83 | *.pgd 84 | *.rsp 85 | *.sbr 86 | *.tlb 87 | *.tli 88 | *.tlh 89 | *.tmp 90 | *.tmp_proj 91 | *_wpftmp.csproj 92 | *.log 93 | *.tlog 94 | *.vspscc 95 | *.vssscc 96 | .builds 97 | *.pidb 98 | *.svclog 99 | *.scc 100 | 101 | # Chutzpah Test files 102 | _Chutzpah* 103 | 104 | # Visual C++ cache files 105 | ipch/ 106 | *.aps 107 | *.ncb 108 | *.opendb 109 | *.opensdf 110 | *.sdf 111 | *.cachefile 112 | *.VC.db 113 | *.VC.VC.opendb 114 | 115 | # Visual Studio profiler 116 | *.psess 117 | *.vsp 118 | *.vspx 119 | *.sap 120 | 121 | # Visual Studio Trace Files 122 | *.e2e 123 | 124 | # TFS 2012 Local Workspace 125 | $tf/ 126 | 127 | # Guidance Automation Toolkit 128 | *.gpState 129 | 130 | # ReSharper is a .NET coding add-in 131 | _ReSharper*/ 132 | *.[Rr]e[Ss]harper 133 | *.DotSettings.user 134 | 135 | # TeamCity is a build add-in 136 | _TeamCity* 137 | 138 | # DotCover is a Code Coverage Tool 139 | *.dotCover 140 | 141 | # AxoCover is a Code Coverage Tool 142 | .axoCover/* 143 | !.axoCover/settings.json 144 | 145 | # Coverlet is a free, cross platform Code Coverage Tool 146 | coverage*.json 147 | coverage*.xml 148 | coverage*.info 149 | 150 | # Visual Studio code coverage results 151 | *.coverage 152 | *.coveragexml 153 | 154 | # NCrunch 155 | _NCrunch_* 156 | .*crunch*.local.xml 157 | nCrunchTemp_* 158 | 159 | # MightyMoose 160 | *.mm.* 161 | AutoTest.Net/ 162 | 163 | # Web workbench (sass) 164 | .sass-cache/ 165 | 166 | # Installshield output folder 167 | [Ee]xpress/ 168 | 169 | # DocProject is a documentation generator add-in 170 | DocProject/buildhelp/ 171 | DocProject/Help/*.HxT 172 | DocProject/Help/*.HxC 173 | DocProject/Help/*.hhc 174 | DocProject/Help/*.hhk 175 | DocProject/Help/*.hhp 176 | DocProject/Help/Html2 177 | DocProject/Help/html 178 | 179 | # Click-Once directory 180 | publish/ 181 | 182 | # Publish Web Output 183 | *.[Pp]ublish.xml 184 | *.azurePubxml 185 | # Note: Comment the next line if you want to checkin your web deploy settings, 186 | # but database connection strings (with potential passwords) will be unencrypted 187 | *.pubxml 188 | *.publishproj 189 | 190 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 191 | # checkin your Azure Web App publish settings, but sensitive information contained 192 | # in these scripts will be unencrypted 193 | PublishScripts/ 194 | 195 | # NuGet Packages 196 | *.nupkg 197 | # NuGet Symbol Packages 198 | *.snupkg 199 | # The packages folder can be ignored because of Package Restore 200 | **/[Pp]ackages/* 201 | # except build/, which is used as an MSBuild target. 202 | !**/[Pp]ackages/build/ 203 | # Uncomment if necessary however generally it will be regenerated when needed 204 | #!**/[Pp]ackages/repositories.config 205 | # NuGet v3's project.json files produces more ignorable files 206 | *.nuget.props 207 | *.nuget.targets 208 | 209 | # Microsoft Azure Build Output 210 | csx/ 211 | *.build.csdef 212 | 213 | # Microsoft Azure Emulator 214 | ecf/ 215 | rcf/ 216 | 217 | # Windows Store app package directories and files 218 | AppPackages/ 219 | BundleArtifacts/ 220 | Package.StoreAssociation.xml 221 | _pkginfo.txt 222 | *.appx 223 | *.appxbundle 224 | *.appxupload 225 | 226 | # Visual Studio cache files 227 | # files ending in .cache can be ignored 228 | *.[Cc]ache 229 | # but keep track of directories ending in .cache 230 | !?*.[Cc]ache/ 231 | 232 | # Others 233 | ClientBin/ 234 | ~$* 235 | *~ 236 | *.dbmdl 237 | *.dbproj.schemaview 238 | *.jfm 239 | *.pfx 240 | *.publishsettings 241 | orleans.codegen.cs 242 | 243 | # Including strong name files can present a security risk 244 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 245 | #*.snk 246 | 247 | # Since there are multiple workflows, uncomment next line to ignore bower_components 248 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 249 | #bower_components/ 250 | 251 | # RIA/Silverlight projects 252 | Generated_Code/ 253 | 254 | # Backup & report files from converting an old project file 255 | # to a newer Visual Studio version. Backup files are not needed, 256 | # because we have git ;-) 257 | _UpgradeReport_Files/ 258 | Backup*/ 259 | UpgradeLog*.XML 260 | UpgradeLog*.htm 261 | ServiceFabricBackup/ 262 | *.rptproj.bak 263 | 264 | # SQL Server files 265 | *.mdf 266 | *.ldf 267 | *.ndf 268 | 269 | # Business Intelligence projects 270 | *.rdl.data 271 | *.bim.layout 272 | *.bim_*.settings 273 | *.rptproj.rsuser 274 | *- [Bb]ackup.rdl 275 | *- [Bb]ackup ([0-9]).rdl 276 | *- [Bb]ackup ([0-9][0-9]).rdl 277 | 278 | # Microsoft Fakes 279 | FakesAssemblies/ 280 | 281 | # GhostDoc plugin setting file 282 | *.GhostDoc.xml 283 | 284 | # Node.js Tools for Visual Studio 285 | .ntvs_analysis.dat 286 | node_modules/ 287 | 288 | # Visual Studio 6 build log 289 | *.plg 290 | 291 | # Visual Studio 6 workspace options file 292 | *.opt 293 | 294 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 295 | *.vbw 296 | 297 | # Visual Studio 6 auto-generated project file (contains which files were open etc.) 298 | *.vbp 299 | 300 | # Visual Studio 6 workspace and project file (working project files containing files to include in project) 301 | *.dsw 302 | *.dsp 303 | 304 | # Visual Studio 6 technical files 305 | *.ncb 306 | *.aps 307 | 308 | # Visual Studio LightSwitch build output 309 | **/*.HTMLClient/GeneratedArtifacts 310 | **/*.DesktopClient/GeneratedArtifacts 311 | **/*.DesktopClient/ModelManifest.xml 312 | **/*.Server/GeneratedArtifacts 313 | **/*.Server/ModelManifest.xml 314 | _Pvt_Extensions 315 | 316 | # Paket dependency manager 317 | .paket/paket.exe 318 | paket-files/ 319 | 320 | # FAKE - F# Make 321 | .fake/ 322 | 323 | # CodeRush personal settings 324 | .cr/personal 325 | 326 | # Python Tools for Visual Studio (PTVS) 327 | __pycache__/ 328 | *.pyc 329 | 330 | # Cake - Uncomment if you are using it 331 | # tools/** 332 | # !tools/packages.config 333 | 334 | # Tabs Studio 335 | *.tss 336 | 337 | # Telerik's JustMock configuration file 338 | *.jmconfig 339 | 340 | # BizTalk build output 341 | *.btp.cs 342 | *.btm.cs 343 | *.odx.cs 344 | *.xsd.cs 345 | 346 | # OpenCover UI analysis results 347 | OpenCover/ 348 | 349 | # Azure Stream Analytics local run output 350 | ASALocalRun/ 351 | 352 | # MSBuild Binary and Structured Log 353 | *.binlog 354 | 355 | # NVidia Nsight GPU debugger configuration file 356 | *.nvuser 357 | 358 | # MFractors (Xamarin productivity tool) working folder 359 | .mfractor/ 360 | 361 | # Local History for Visual Studio 362 | .localhistory/ 363 | 364 | # Visual Studio History (VSHistory) files 365 | .vshistory/ 366 | 367 | # BeatPulse healthcheck temp database 368 | healthchecksdb 369 | 370 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 371 | MigrationBackup/ 372 | 373 | # Ionide (cross platform F# VS Code tools) working folder 374 | .ionide/ 375 | 376 | # Fody - auto-generated XML schema 377 | FodyWeavers.xsd 378 | 379 | # VS Code files for those working on multiple tools 380 | .vscode/* 381 | !.vscode/settings.json 382 | !.vscode/tasks.json 383 | !.vscode/launch.json 384 | !.vscode/extensions.json 385 | *.code-workspace 386 | 387 | # Local History for Visual Studio Code 388 | .history/ 389 | 390 | # Windows Installer files from build outputs 391 | *.cab 392 | *.msi 393 | *.msix 394 | *.msm 395 | *.msp 396 | 397 | # JetBrains Rider 398 | *.sln.iml 399 | -------------------------------------------------------------------------------- /README.zh-CN.md: -------------------------------------------------------------------------------- 1 | # Awesome WPF [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![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) 2 | 3 | [![.NET](https://img.shields.io/badge/.NET-512BD4?style=flat-square&logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/) 4 | [![WPF](https://img.shields.io/badge/WPF-512BD4?style=flat-square&logo=windows&logoColor=white)](https://github.com/dotnet/wpf) 5 | 6 | [![Stars](https://img.shields.io/github/stars/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/stargazers) 7 | [![Forks](https://img.shields.io/github/forks/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/network/members) 8 | [![Issues](https://img.shields.io/github/issues/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/issues) 9 | 10 | 这个仓库是一个关于WPF(Windows Presentation Foundation)的精选列表,收集了WPF相关的学习资料、库、工具以及其他有用的资源。 11 | 12 | 这个文档主要由Microsoft MVP李在雄和具洋夫妇的内容维护。我们的目标是通过这个列表,帮助WPF开发者轻松找到所需的信息,了解最新趋势。 13 | 14 | 我们希望为各个级别的WPF开发者提供有用的信息,从初学者到资深开发者。基于我们的经验和专业知识,我们希望通过这个项目为WPF社区的成长和发展做出贡献。 15 | 16 | ## 目录 17 | 18 | - [频道](#频道) 19 | - [会议](#会议) 20 | - [库和工具](#库和工具) 21 | - [使用WPF的公司](#使用wpf的公司) 22 | - [WPF IDE程序](#wpf-ide程序) 23 | - [WPF相关GitHub仓库](#wpf相关github仓库) 24 | - [使用WPF构建的产品](#使用wpf构建的产品) 25 | - [动画作品](#动画作品) 26 | - [WPF教程系列](#wpf教程系列) 27 | - [WPF相关书籍](#wpf相关书籍) 28 | 29 | ## 频道 30 | - [哔哩哔哩](https://space.bilibili.com/688707261) - 小李趣味多 31 | - [YouTube](https://youtube.com/@jamesnset214) - Jamesnet 32 | - [网站](https://jamesnet.dev) 33 | 34 | ## 会议 35 | - [Jamesnet研讨会](https://docs.microsoft.com/en-us/dotnet/desktop/wpf/) - 韩国首尔;中国江苏省南京市 36 | - [BMW聚会](https://wpf-tutorial.com/) - 韩国首尔 37 | 38 | ## 库和工具 39 | - [Jamesnet.Wpf](https://github.com/jamesnet214/jamesnetwpf) 40 | - [XamlDesign.Wpf](https://github.com/jamesnet214/xamldesignwpf) 41 | - [Anatomy Analyzer](https://github.com/jamesnet214/anatomyanalyzer) 42 | 43 | ## WPF相关GitHub仓库 44 | - [League of legends](https://github.com/jamesnet214/leagueoflegends) 45 | - [Jamesnet.Wpf](https://github.com/jamesnet214/jamesnetwpf) 46 | - [xamldesign.wpf](https://github.com/jamesnet214/xamldesignwpf) 47 | - [Anatomy Analyzer](https://github.com/jamesnet214/anatomyanalyzer) 48 | - [Dev Flow](https://github.com/jamesnet214/devflow) 49 | - [WPF Explorer](https://github.com/jamesnet214/wpf-explorer) 50 | - [Reflector](https://github.com/jamesnet214/reflector) 51 | - [ICommander](https://github.com/jamesnet214/colorpicker) 52 | - [ColorPicker](https://github.com/jamesnet214/colorpicker) 53 | - [ThemeSwitch](https://github.com/vickyqu115/themeswitch) 54 | - [Riot Play Button](https://github.com/vickyqu115/riotplaybutton) 55 | - [Magic Navigation](https://github.com/vickyqu115/navigationbar) 56 | - [Riot Slider](https://github.com/vickyqu115/riotslider) 57 | - [Smart Date](https://github.com/vickyqu115/smartdate) 58 | - [Cupertino TreeView](https://github.com/vickyqu115/cupertino-treeview) 59 | 60 | ## 使用WPF的公司 61 | - Microsoft 62 | - Autodesk 63 | - SAP 64 | 65 | ## WPF IDE程序 66 | - Visual Studio 67 | - Visual Studio Code 68 | - Blend for Visual Studio 69 | - JetBrains Rider 70 | - ~~Expression Blend (已停止开发)~~ 71 | - SharpDevelop (不再积极开发) 72 | 73 | ## 使用WPF构建的产品 74 | - [x] Visual Studio - 微软的集成开发环境 (IDE) 75 | - [x] Microsoft Office - 某些组件和插件 76 | - [x] AutoCAD - Autodesk的计算机辅助设计(CAD)软件 77 | - [x] Blend for Visual Studio - WPF用户界面设计工具 78 | - [x] SQL Server Management Studio - Microsoft SQL Server管理工具 79 | - [x] Windows Performance Analyzer - Windows评估和部署工具包的一部分 80 | - [x] Vortex - Bethesda游戏的模组管理器 81 | - [x] SourceTree - Atlassian的Git客户端 82 | 83 | ## 动画作品 84 | - [x] 英超联赛结果可视化工具 - 2023-24赛季英超联赛排名可视化 [YouTube](https://www.youtube.com/watch?v=1ajqAHkIIXU) | [哔哩哔哩](https://www.bilibili.com/video/BV1w4421X7v3) 85 | 86 | ## WPF教程系列 87 | 88 | ### 1. 主题切换 89 | ThemeSwitch是基于WPF ToggleButton构建的CustomControl,旨在为WPF应用程序提供一个吸引人的主题切换视觉元素。它具有日间和夜间主题之间平滑过渡的动画,展示了高级WPF技术和自定义控件开发。 90 | - [x] [GitHub](https://github.com/vickyqu115/themeswitch) 91 | - [x] [YouTube教程(英文)](https://bit.ly/3uBkFlQ) 92 | - [x] [哔哩哔哩教程(中文)](https://bit.ly/3uHFe08) 93 | - [x] [实现详细文章(jamesnet.dev)](https://jamesnet.dev/article/109) 94 | - [x] [CodeProject](https://www.codeproject.com/Articles/5372268/Use-WPF-to-Create-a-Day-and-Night-Theme-Switch-But) 95 | 96 | ### 2. Riot播放按钮 97 | RiotPlayButton是一个自定义WPF控件,重现了英雄联盟游戏客户端的PLAY按钮。它展示了高级WPF技术,包括自定义形状创建、渐变画笔、动画和高效的XAML设计。 98 | - [x] [GitHub](https://github.com/vickyqu115/riotplaybutton) 99 | - [x] [YouTube教程(英文,韩文字幕)](https://bit.ly/40YoVIo) 100 | - [x] [哔哩哔哩教程(中文)](https://bit.ly/49L6dXu) 101 | - [x] [实现详细文章(jamesnet.dev)](https://jamesnet.dev/article/51) 102 | - [x] [CodeProject](https://www.codeproject.com/Articles/5373396/Creating-a-League-of-Legends-Inspired-Play-Button) 103 | 104 | ### 3. 魔法导航 105 | NavigationBar是一个自定义WPF控件,展示了创建移动启发式导航界面的高级技术。它展示了WPF在实现复杂UI行为和动画方面的强大和灵活性,重点关注CustomControl开发和高效动画设计。 106 | - [x] [GitHub](https://github.com/vickyqu115/navigationbar) 107 | - [x] [YouTube教程(英文,韩文字幕)](https://bit.ly/3TVeRhF) 108 | - [x] [哔哩哔哩教程(中文)](https://bit.ly/3UvaOsl) 109 | - [x] [实现详细文章(jamesnet.dev)](https://jamesnet.dev/article/edit/110) 110 | - [x] [CodeProject](https://www.codeproject.com/Articles/5375482/Customizing-ListBox-for-a-Smooth-Animated-Navigati) 111 | 112 | ### 4. Riot滑块 113 | RiotSlider是一个自定义WPF Slider控件,展示了WPF控件开发的高级技术。它将标准WPF Slider重新实现为CustomControl,利用原始WPF开源实现进行PART_重用,展示了WPF控件设计模式。 114 | - [x] [GitHub](https://github.com/vickyqu115/riotslider) 115 | - [x] [YouTube教程(英文)](https://bit.ly/4dpsr3m) 116 | - [x] [哔哩哔哩教程(中文)](https://bit.ly/3QiZvkJ) 117 | - [x] [实现详细文章(jamesnet.dev)](https://jamesnet.dev/article/111) 118 | - [x] [CodeProject](https://bit.ly/3JyibsM) 119 | 120 | ### 5. 智能日期 121 | SmartDate是一个重新构想传统DatePicker的自定义WPF控件。它从Control类继承而不是内置的DatePicker,从头开始构建,提供了一个现代、灵活且易于自定义的替代方案。这个项目展示了高级WPF技术和控件开发实践。 122 | - [x] [GitHub](https://github.com/vickyqu115/smartdate) 123 | - [x] [YouTube教程(英文)](https://bit.ly/4c8uGr3) 124 | - [x] [哔哩哔哩教程(中文)](https://bit.ly/3xOeyMJ) 125 | - [x] [实现详细文章(jamesnet.dev)](https://jamesnet.dev/article/43) 126 | - [x] [CodeProject](https://bit.ly/4du4hVD) 127 | 128 | ### 6. Cupertino树状视图 129 | Cupertino TreeView是一个高级CustomControl,重新构想和扩展了WPF的默认TreeView控件。它利用从ItemsControl继承的独特结构有效地表示复杂的层次数据,应用MVVM模式提供出色的用户体验和开发者友好的结构。 130 | - [x] [GitHub](https://github.com/vickyqu115/cupertino-treeview) 131 | - [x] [实现详细文章(jamesnet.dev)](https://jamesnet.dev/article/122) 132 | - [x] [YouTube教程(英文)](https://www.youtube.com/watch?v=lZeEhYUYuiM) 133 | - [x] [哔哩哔哩教程(中文)](https://www.bilibili.com/video/BV1xh4y1N7f2/) 134 | 135 | 136 | ## WPF相关书籍 137 | 138 | ### 2023 139 | - **"WPF Inside Out"** 作者:李在雄,瞿扬 - [链接](https://localhost:7111/article/6) 140 | 141 | ### 2021 142 | - **"Windows Presentation Foundation的开发:基础和必知信息:在Linux上开发WPF"** 作者:Gregg Mthimunye 143 | 144 | ### 2020 145 | - **"精通Windows Presentation Foundation:使用WPF为桌面应用程序构建响应式UI,第2版"** 作者:Sheridan Yuen 146 | - **"探索Windows Presentation Foundation:在.NET 5中的实际应用"** 作者:Taurius Litvinavicius 147 | 148 | ### 2018 149 | - **"Windows Presentation Foundation开发cookbook:在Windows上构建丰富的桌面客户端应用程序的100个配方"** 作者:Kunal Chowdhury 150 | - **"WPF 3D:使用WPF和C#的三维图形"** 作者:Rod Stephens 151 | 152 | ### 2017 153 | - **"精通Visual Studio 2017:使用WPF和UWP构建Windows应用程序,加速Azure云开发,探索NuGet等"** 作者:Kunal Chowdhury 154 | 155 | ### 2016 156 | - **"学习WPF MVVM - XAML,C#和MVVM模式:下周准备好使用WPF和MVVM进行编码"** 作者:Arnaud Weil 157 | - **"金融市场的实用C#和WPF"** 作者:Jack Xu 158 | 159 | ### 2015 160 | - **"Pro XAML with C#:应用程序开发策略(涵盖WPF,Windows 8.1和Windows Phone 8.1)"** 作者:Buddy James,Lori LaLonde 161 | 162 | ### 2012 163 | - **"Pro WPF 4.5 in C#:.NET 4.5中的Windows Presentation Foundation"** 作者:Matthew MacDonald 164 | - **"Essential Windows Presentation Foundation (WPF)"** 作者:Chris Anderson 165 | - **"WPF控件开发解密:构建高级用户体验"** 作者:Pavan Podila,Kevin Hoffman 166 | - **"Pro WPF 4.5 in VB:.NET 4.5中的Windows Presentation Foundation"** 作者:Matthew MacDonald 167 | - **"Windows Presentation Foundation 4.5 Cookbook"** 作者:Pavel Yosifovich 168 | - **"MVVM解密"** 作者:Michael Brown 169 | 170 | ### 2011 171 | - **"XAML开发者参考"** 作者:Ashish Ghoda,Mamta Dalal 172 | - **"Microsoft Prism 4开发者指南:使用Windows Presentation Foundation和Microsoft Silverlight构建模块化MVVM应用程序(模式和实践)"** 作者:Brian Noyes,Geoff Cox,Karl Shifflett,Bob Brumfield,Michael Puleio,DAVID. HILL 173 | - **"无畏学习Expression Blend"** 作者:郑珍熙 174 | 175 | ### 2010 176 | - **"WPF 4解密"** 作者:Adam Nathan 177 | - **"WPF程序员参考:C# 2010和.NET 4中的Windows Presentation Foundation"** 作者:Rod Stephens 178 | 179 | ### 2009 180 | - **"Pro WPF in C# 2010:.NET 4中的Windows Presentation Foundation"** 作者:Matthew MacDonald 181 | - **"图解WPF"** 作者:Daniel Solis 182 | - **"Pro WPF in VB 2010:.NET 4中的Windows Presentation Foundation"** 作者:Matthew MacDonald 183 | 184 | ### 2008 185 | - **"WPF in Action with Visual Studio 2008: Covers Visual Studio 2008 Service Pack 1 and .NET 3.5 Service Pack 1!"** by Arlen S. Feldman, Maxx Daymon 186 | - **"Sams teach yourself WPF in 24 hours"** by Robert Eisenberg 187 | - **"Pro WPF with VB 2008: Windows Presentation Foundation with .NET 3.5"** by Matthew MacDonald 188 | - **"Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5"** by Matthew MacDonald 189 | - **"WPF recipes in C# 2008"** by Sam Noble 190 | - **"Foundation Expression Blend 2"** by Victor Gaudioso 191 | 192 | ### 2007 193 | - **"Programming WPF: Building Windows UI with Windows Presentation Foundation"** by Ian Griffith, Chris Sells 194 | - **"Professional WPF Programming: .NET Development with the Windows Presentation Foundation"** by Michael Meyers, Shawn Livermore, Scott Van Vliet, Chris Andrade 195 | - **"Practical WPF Graphics Programming: Advanced .NET Graphics Development with the Windows Presentation Foundation Jack Xu"** by Jack Xu 196 | 197 | ### 2006 198 | - **"Windows Presentation Foundation Unleashed"** by Adam Nathan 199 | - **"Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation"** by Charles Petzold 200 | 201 | ## 贡献 202 | 如果你想为这个 Awesome 列表做出贡献,请参考 [CONTRIBUTING.md](CONTRIBUTING.md)。 203 | 204 | ## 许可证 205 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 206 | 此处列出的所有内容均遵循各个项目的许可证。 207 | 208 | ## 联系方式 209 | * 网站:https://jamesnet.dev 210 | * 电子邮件:james@jamesnet.dev,vickyqu115@hotmail.com 211 | -------------------------------------------------------------------------------- /README.ko.md: -------------------------------------------------------------------------------- 1 | # Awesome WPF [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![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) 2 | 3 | [![.NET](https://img.shields.io/badge/.NET-512BD4?style=flat-square&logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/) 4 | [![WPF](https://img.shields.io/badge/WPF-512BD4?style=flat-square&logo=windows&logoColor=white)](https://github.com/dotnet/wpf) 5 | 6 | [![Stars](https://img.shields.io/github/stars/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/stargazers) 7 | [![Forks](https://img.shields.io/github/forks/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/network/members) 8 | [![Issues](https://img.shields.io/github/issues/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/issues) 9 | 10 | 이 레포지토리는 WPF(Windows Presentation Foundation) 관련 학습 자료, 라이브러리, 도구, 그리고 기타 유용한 리소스들을 모아놓은 큐레이션 리스트입니다. 11 | 12 | Microsoft MVP인 이재웅과 구양 부부의 컨텐츠를 중심으로 이 문서가 관리되고 있습니다. 우리는 이 리스트를 통해 WPF 개발자들이 필요한 정보를 쉽게 찾고, 최신 트렌드를 파악할 수 있도록 돕는 것을 목표로 합니다. 13 | 14 | 초보자부터 숙련된 개발자까지 모든 수준의 WPF 개발자들에게 유용한 정보를 제공하고자 합니다. 우리의 경험과 전문성을 바탕으로, 이 프로젝트를 통해 WPF 커뮤니티의 성장과 발전에 기여하고자 합니다. 15 | 16 | ## 목차 17 | 18 | - [채널](#채널) 19 | - [컨퍼런스](#컨퍼런스) 20 | - [라이브러리 및 도구](#라이브러리-및-도구) 21 | - [WPF를 사용하는 회사](#wpf를-사용하는-회사) 22 | - [WPF IDE 프로그램](#wpf-ide-프로그램) 23 | - [WPF 관련 GitHub 레포지토리](#wpf-관련-github-레포지토리) 24 | - [WPF로 만들어진 제품들](#wpf로-만들어진-제품들) 25 | - [애니메이션 작품](#애니메이션-작품) 26 | - [WPF 튜토리얼 시리즈](#wpf-튜토리얼-시리즈) 27 | - [WPF 관련 서적](#wpf-관련-서적) 28 | 29 | ## 채널 30 | - [빌리빌리](https://space.bilibili.com/688707261) - 小李趣味多 31 | - [유튜브](https://youtube.com/@jamesnset214) - Jamesnet 32 | - [웹사이트](https://jamesnet.dev) 33 | 34 | ## 컨퍼런스 35 | - [Jamesnet 세미나](https://docs.microsoft.com/en-us/dotnet/desktop/wpf/) - 대한민국 서울, 중국 장수성 난징 36 | - [BMW 밋업](https://wpf-tutorial.com/) - 대한민국 서울 37 | 38 | ## 라이브러리 및 도구 39 | - [Jamesnet.Wpf](https://github.com/jamesnet214/jamesnetwpf) 40 | - [XamlDesign.Wpf](https://github.com/jamesnet214/xamldesignwpf) 41 | - [Anatomy Analyzer](https://github.com/jamesnet214/anatomyanalyzer) 42 | 43 | ## WPF 관련 GitHub 레포지토리 44 | - [League of legends](https://github.com/jamesnet214/leagueoflegends) 45 | - [Jamesnet.Wpf](https://github.com/jamesnet214/jamesnetwpf) 46 | - [xamldesign.wpf](https://github.com/jamesnet214/xamldesignwpf) 47 | - [Anatomy Analyzer](https://github.com/jamesnet214/anatomyanalyzer) 48 | - [Dev Flow](https://github.com/jamesnet214/devflow) 49 | - [WPF Explorer](https://github.com/jamesnet214/wpf-explorer) 50 | - [Reflector](https://github.com/jamesnet214/reflector) 51 | - [ICommander](https://github.com/jamesnet214/colorpicker) 52 | - [ColorPicker](https://github.com/jamesnet214/colorpicker) 53 | - [ThemeSwitch](https://github.com/vickyqu115/themeswitch) 54 | - [Riot Play Button](https://github.com/vickyqu115/riotplaybutton) 55 | - [Magic Navigation](https://github.com/vickyqu115/navigationbar) 56 | - [Riot Slider](https://github.com/vickyqu115/riotslider) 57 | - [Smart Date](https://github.com/vickyqu115/smartdate) 58 | - [Cupertino TreeView](https://github.com/vickyqu115/cupertino-treeview) 59 | 60 | ## WPF를 사용하는 회사 61 | - Microsoft 62 | - Autodesk 63 | - SAP 64 | 65 | ## WPF IDE 프로그램 66 | - Visual Studio 67 | - Visual Studio Code 68 | - Blend for Visual Studio 69 | - JetBrains Rider 70 | - ~~Expression Blend (개발이 중단됨)~~ 71 | - SharpDevelop (더 이상 활발히 개발되지 않음) 72 | 73 | ## WPF로 만들어진 제품들 74 | - [x] Visual Studio - Microsoft의 통합 개발 환경 (IDE) 75 | - [x] Microsoft Office - 특정 구성 요소 및 애드인 76 | - [x] AutoCAD - Autodesk의 컴퓨터 지원 설계(CAD) 소프트웨어 77 | - [x] Blend for Visual Studio - WPF 사용자 인터페이스를 위한 디자인 도구 78 | - [x] SQL Server Management Studio - Microsoft SQL Server 관리 도구 79 | - [x] Windows Performance Analyzer - Windows 평가 및 배포 키트의 일부 80 | - [x] Vortex - Bethesda 게임용 모드 관리자 81 | - [x] SourceTree - Atlassian의 Git 클라이언트 82 | 83 | ## 애니메이션 작품 84 | - [x] 프리미어 리그 결과 시각화 도구 - 2023-24 프리미어 리그 시즌 순위 시각화 [유튜브](https://www.youtube.com/watch?v=1ajqAHkIIXU) | [빌리빌리](https://www.bilibili.com/video/BV1w4421X7v3) 85 | 86 | ## WPF 튜토리얼 시리즈 87 | 88 | ### 1. Theme Switch 89 | ThemeSwitch는 WPF ToggleButton을 기반으로 구축된 CustomControl로, WPF 애플리케이션에서 테마 전환을 위한 매력적인 시각적 요소를 제공하도록 설계되었습니다. 주간과 야간 테마 사이의 부드러운 전환을 위한 애니메이션을 특징으로 하며, 고급 WPF 기술과 사용자 정의 컨트롤 개발을 보여줍니다. 90 | - [x] [GitHub](https://github.com/vickyqu115/themeswitch) 91 | - [x] [YouTube 튜토리얼 (English)](https://bit.ly/3uBkFlQ) 92 | - [x] [BiliBili 튜토리얼 (Chinese)](https://bit.ly/3uHFe08) 93 | - [x] [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/109) 94 | - [x] [CodeProject](https://www.codeproject.com/Articles/5372268/Use-WPF-to-Create-a-Day-and-Night-Theme-Switch-But) 95 | 96 | ### 2. Riot Play Button 97 | RiotPlayButton은 리그 오브 레전드 게임 클라이언트의 PLAY 버튼을 재현한 사용자 정의 WPF 컨트롤입니다. 사용자 정의 형태 생성, 그라데이션 브러시, 애니메이션, 효율적인 XAML 디자인 등 고급 WPF 기술을 보여줍니다. 98 | - [x] [GitHub](https://github.com/vickyqu115/riotplaybutton) 99 | - [x] [YouTube 튜토리얼 (영어, 한글자막)](https://bit.ly/40YoVIo) 100 | - [x] [BiliBili 튜토리얼 (중국어)](https://bit.ly/49L6dXu) 101 | - [x] [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/51) 102 | - [x] [CodeProject](https://www.codeproject.com/Articles/5373396/Creating-a-League-of-Legends-Inspired-Play-Button) 103 | 104 | ### 3. Magic Navigation 105 | NavigationBar는 모바일에서 영감을 받은 내비게이션 인터페이스를 만드는 고급 기술을 보여주는 사용자 정의 WPF 컨트롤입니다. 복잡한 UI 동작과 애니메이션을 구현하는 데 있어 WPF의 강력함과 유연성을 보여주며, 특히 CustomControl 개발과 효율적인 애니메이션 설계에 중점을 둡니다. 106 | - [x] [GitHub](https://github.com/vickyqu115/navigationbar) 107 | - [x] [YouTube 튜토리얼 (영어, 한글자막)](https://bit.ly/3TVeRhF) 108 | - [x] [BiliBili 튜토리얼 (중국어)](https://bit.ly/3UvaOsl) 109 | - [x] [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/edit/110) 110 | - [x] [CodeProject](https://www.codeproject.com/Articles/5375482/Customizing-ListBox-for-a-Smooth-Animated-Navigati) 111 | 112 | ### 4. Riot Slider 113 | RiotSlider는 WPF 컨트롤 개발의 고급 기술을 보여주는 사용자 정의 WPF Slider 컨트롤입니다. 표준 WPF Slider를 CustomControl로 재구현하여, PART_ 재사용을 위해 원본 WPF 오픈 소스 구현을 활용하고 WPF 컨트롤의 설계 패턴을 보여줍니다. 114 | - [x] [GitHub](https://github.com/vickyqu115/riotslider) 115 | - [x] [YouTube 튜토리얼 (영어)](https://bit.ly/4dpsr3m) 116 | - [x] [BiliBili 튜토리얼 (중국어)](https://bit.ly/3QiZvkJ) 117 | - [x] [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/111) 118 | - [x] [CodeProject](https://bit.ly/3JyibsM) 119 | 120 | ### 5. Smart Date 121 | SmartDate는 전통적인 DatePicker를 새롭게 구상한 사용자 정의 WPF 컨트롤입니다. 기본 제공되는 DatePicker를 상속받는 대신 Control 클래스부터 처음부터 구축하여, 현대적이고 유연하며 쉽게 사용자 정의할 수 있는 대안을 제공합니다. 이 프로젝트는 고급 WPF 기술과 컨트롤 개발 사례를 보여줍니다. 122 | - [x] [GitHub](https://github.com/vickyqu115/smartdate) 123 | - [x] [YouTube 튜토리얼 (영어)](https://bit.ly/4c8uGr3) 124 | - [x] [BiliBili 튜토리얼 (중국어)](https://bit.ly/3xOeyMJ) 125 | - [x] [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/43) 126 | - [x] [CodeProject](https://bit.ly/4du4hVD) 127 | 128 | ### 6. Cupertino TreeView 129 | Cupertino TreeView는 WPF의 기본 TreeView 컨트롤을 재구성하고 확장한 고급 CustomControl입니다. ItemsControl을 상속받은 독특한 구조를 활용하여 복잡한 계층 데이터를 효과적으로 표현하며, MVVM 패턴을 적용하여 뛰어난 사용자 경험과 개발자 친화적인 구조를 제공합니다. 130 | - [x] [GitHub](https://github.com/vickyqu115/cupertino-treeview) 131 | - [x] [구현에 대한 상세 아티클 (jamesnet.dev)](https://jamesnet.dev/article/122) 132 | - [x] [YouTube 튜토리얼 (영어)](https://www.youtube.com/watch?v=lZeEhYUYuiM) 133 | - [x] [BiliBili 튜토리얼 (중국어)](https://www.bilibili.com/video/BV1xh4y1N7f2/) 134 | 135 | ## WPF 관련 서적 136 | 137 | ### 2023 138 | - **"WPF Inside Out"** by 이재웅, 구양 - [링크](https://localhost:7111/article/6) 139 | 140 | ### 2021 141 | - **"The Development Of Windows Presentation Foundation: Basics And Must-Know Information: Wpf Development On Linux"** by Gregg Mthimunye 142 | 143 | ### 2020 144 | - **"Mastering Windows Presentation Foundation: Build Responsive UIs for Desktop Applications with WPF, 2nd Edition"** by Sheridan Yuen 145 | - **"Exploring Windows Presentation Foundation: With Practical Applications in .NET 5"** by Taurius Litvinavicius 146 | 147 | ### 2018 148 | - **"Windows Presentation Foundation Development Cookbook: 100 Recipes to Build Rich Desktop Client Applications on Windows"** by Kunal Chowdhury 149 | - **"WPF 3d: Three-Dimensional Graphics with WPF and C#"** by Rod Stephens 150 | 151 | ### 2017 152 | - **"Mastering Visual Studio 2017: Build windows apps using WPF and UWP, accelerate cloud development with Azure, explore NuGet, and more"** by Kunal Chowdhury 153 | 154 | ### 2016 155 | - **"Learn WPF MVVM - XAML, C# and the MVVM pattern: Be ready for coding away next week using WPF and MVVM"** by Arnaud Weil 156 | - **"Practical C# and WPF For Financial Markets"** by Jack Xu 157 | 158 | ### 2015 159 | - **"Pro XAML with C#: Application Development Strategies (covers WPF, Windows 8.1, and Windows Phone 8.1)"** by Buddy James, Lori LaLonde 160 | 161 | ### 2012 162 | - **"Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5"** by Matthew MacDonald 163 | - **"Essential Windows Presentation Foundation (WPF)"** by Chris Anderson 164 | - **"WPF Control Development Unleashed: Building Advanced User Experiences"** by Pavan Podila, Kevin Hoffman 165 | - **"Pro WPF 4.5 in VB: Windows Presentation Foundation in .NET 4.5"** by Matthew MacDonald 166 | - **"Windows Presentation Foundation 4.5 Cookbook"** by Pavel Yosifovich 167 | - **"MVVM Unleashed"** by Michael Brown 168 | 169 | ### 2011 170 | - **"XAML Developer Reference"** by Ashish Ghoda, Mamta Dalal 171 | - **"Developer's Guide to Microsoft Prism 4: Building Modular MVVM Applications with Windows Presentation Foundation and Microsoft Silverlight (Patterns & Practices)"** by Brian Noyes, Geoff Cox, Karl Shifflett, Bob Brumfield, Michael Puleio, DAVID. HILL 172 | - **"거침없이 배우는 익스프레션 블렌드"** by 정진희 173 | 174 | ### 2010 175 | - **"WPF 4 Unleashed"** by Adam Nathan 176 | - **"WPF Programmer's Reference: Windows Presentation Foundation with C# 2010 and .NET 4"** by Rod Stephens 177 | 178 | ### 2009 179 | - **"Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4"** by Matthew MacDonald 180 | - **"Illustrated WPF"** by Daniel Solis 181 | - **"Pro WPF in VB 2010: Windows Presentation Foundation in .NET 4"** by Matthew MacDonald 182 | 183 | ### 2008 184 | - **"WPF in Action with Visual Studio 2008: Covers Visual Studio 2008 Service Pack 1 and .NET 3.5 Service Pack 1!"** by Arlen S. Feldman, Maxx Daymon 185 | - **"Sams teach yourself WPF in 24 hours"** by Robert Eisenberg 186 | - **"Pro WPF with VB 2008: Windows Presentation Foundation with .NET 3.5"** by Matthew MacDonald 187 | - **"Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5"** by Matthew MacDonald 188 | - **"WPF recipes in C# 2008"** by Sam Noble 189 | - **"Foundation Expression Blend 2"** by Victor Gaudioso 190 | 191 | ### 2007 192 | - **"Programming WPF: Building Windows UI with Windows Presentation Foundation"** by Ian Griffith, Chris Sells 193 | - **"Professional WPF Programming: .NET Development with the Windows Presentation Foundation"** by Michael Meyers, Shawn Livermore, Scott Van Vliet, Chris Andrade 194 | - **"Practical WPF Graphics Programming: Advanced .NET Graphics Development with the Windows Presentation Foundation Jack Xu"** by Jack Xu 195 | 196 | ### 2006 197 | - **"Windows Presentation Foundation Unleashed"** by Adam Nathan 198 | - **"Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation"** by Charles Petzold 199 | 200 | ## 기여하기 201 | 202 | 이 Awesome 리스트에 기여하고 싶으시다면 [CONTRIBUTING.md](CONTRIBUTING.md)를 참고해주세요. 203 | 204 | ## 라이선스 205 | 206 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 207 | 208 | 이 곳에 나열된 모든 내용은 각 프로젝트의 라이선스를 따릅니다. 209 | 210 | ## 연락처 211 | 212 | * Website: https://jamesnet.dev 213 | * Email: james@jamesnet.dev, vickyqu115@hotmail.com 214 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome WPF [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![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) 2 | 3 | [![.NET](https://img.shields.io/badge/.NET-512BD4?style=flat-square&logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/) 4 | [![WPF](https://img.shields.io/badge/WPF-512BD4?style=flat-square&logo=windows&logoColor=white)](https://github.com/dotnet/wpf) 5 | 6 | [![Stars](https://img.shields.io/github/stars/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/stargazers) 7 | [![Forks](https://img.shields.io/github/forks/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/network/members) 8 | [![Issues](https://img.shields.io/github/issues/jamesnet214/awesome-wpf.svg)](https://github.com/jamesnet214/awesome-wpf/issues) 9 | 10 | This repository is a curated list of learning materials, libraries, tools, and other useful resources related to WPF (Windows Presentation Foundation). 11 | 12 | This document is maintained primarily with content from Microsoft MVPs Jaewung Lee and Yang Qu. Our goal is to help WPF developers easily find necessary information and stay updated with the latest trends through this list. 13 | 14 | We aim to provide useful information for WPF developers of all levels, from beginners to experienced professionals. Based on our experience and expertise, we hope to contribute to the growth and development of the WPF community through this project. 15 | 16 | ## Table of Contents 17 | 18 | - [Channels](#channels) 19 | - [Conferences](#conferences) 20 | - [Libraries and Tools](#libraries-and-tools) 21 | - [Companies Using WPF](#companies-using-wpf) 22 | - [WPF IDE Programs](#wpf-ide-programs) 23 | - [WPF-related GitHub Repositories](#wpf-related-github-repositories) 24 | - [Products Built with WPF](#products-built-with-wpf) 25 | - [Animation Works](#animation-works) 26 | - [WPF Tutorial Series](#wpf-tutorial-series) 27 | - [WPF-related Books](#wpf-related-books) 28 | 29 | ## Channels 30 | - [Bilibili](https://space.bilibili.com/688707261) - 小李趣味多 31 | - [YouTube](https://youtube.com/@jamesnset214) - Jamesnet 32 | - [Website](https://jamesnet.dev) 33 | 34 | ## Conferences 35 | - [Jamesnet Seminar](https://docs.microsoft.com/en-us/dotnet/desktop/wpf/) - Seoul, South Korea; Nanjing, Jiangsu Province, China 36 | - [BMW Meetup](https://wpf-tutorial.com/) - Seoul, South Korea 37 | 38 | ## Libraries and Tools 39 | - [Jamesnet.Wpf](https://github.com/jamesnet214/jamesnetwpf) 40 | - [XamlDesign.Wpf](https://github.com/jamesnet214/xamldesignwpf) 41 | - [Anatomy Analyzer](https://github.com/jamesnet214/anatomyanalyzer) 42 | 43 | ## WPF-related GitHub Repositories 44 | - [League of legends](https://github.com/jamesnet214/leagueoflegends) 45 | - [Jamesnet.Wpf](https://github.com/jamesnet214/jamesnetwpf) 46 | - [xamldesign.wpf](https://github.com/jamesnet214/xamldesignwpf) 47 | - [Anatomy Analyzer](https://github.com/jamesnet214/anatomyanalyzer) 48 | - [Dev Flow](https://github.com/jamesnet214/devflow) 49 | - [WPF Explorer](https://github.com/jamesnet214/wpf-explorer) 50 | - [Reflector](https://github.com/jamesnet214/reflector) 51 | - [ICommander](https://github.com/jamesnet214/colorpicker) 52 | - [ColorPicker](https://github.com/jamesnet214/colorpicker) 53 | - [ThemeSwitch](https://github.com/jamesnetgroup/themeswitch) 54 | - [Riot Play Button](https://github.com/jamesnetgroup/riotplaybutton) 55 | - [Magic Navigation](https://github.com/jamesnetgroup/navigationbar) 56 | - [Riot Slider](https://github.com/jamesnetgroup/riotslider) 57 | - [Smart Date](https://github.com/jamesnetgroup/smartdate) 58 | - [Cupertino TreeView](https://github.com/jamesnetgroup/cupertino-treeview) 59 | 60 | ## Companies Using WPF 61 | - Microsoft 62 | - Autodesk 63 | - SAP 64 | 65 | ## WPF IDE Programs 66 | - Visual Studio 67 | - Visual Studio Code 68 | - Blend for Visual Studio 69 | - JetBrains Rider 70 | - ~~Expression Blend (development discontinued)~~ 71 | - SharpDevelop (no longer actively developed) 72 | 73 | ## Products Built with WPF 74 | 75 | - [x] Visual Studio - Microsoft's Integrated Development Environment (IDE) 76 | - [x] Microsoft Office - Certain components and add-ins 77 | - [x] AutoCAD - Computer-Aided Design (CAD) software by Autodesk 78 | - [x] Blend for Visual Studio - Design tool for WPF user interfaces 79 | - [x] SQL Server Management Studio - Management tool for Microsoft SQL Server 80 | - [x] Windows Performance Analyzer - Part of Windows Assessment and Deployment Kit 81 | - [x] Vortex - Mod manager for Bethesda games 82 | - [x] SourceTree - Git client by Atlassian 83 | 84 | ## Animation Works 85 | 86 | - [x] Premier League Results Visualizer - 2023-24 Premier League season standings visualization [Youtube](https://www.youtube.com/watch?v=1ajqAHkIIXU) | [BiliBili](https://www.bilibili.com/video/BV1w4421X7v3) 87 | 88 | ## WPF Tutorial Series 89 | 90 | ### 1. Theme Switch 91 | ThemeSwitch is a CustomControl built on top of the WPF ToggleButton, designed to provide an attractive visual element for theme switching in WPF applications. It features animations for smooth transitions between day and night themes, showcasing advanced WPF techniques and custom control development. 92 | - [x] [GitHub](https://github.com/vickyqu115/themeswitch) 93 | - [x] [YouTube Tutorial (English)](https://bit.ly/3uBkFlQ) 94 | - [x] [BiliBili Tutorial (Chinese)](https://bit.ly/3uHFe08) 95 | - [x] [Detailed Article on Implementation (jamesnet.dev)](https://jamesnet.dev/article/109) 96 | - [x] [CodeProject](https://www.codeproject.com/Articles/5372268/Use-WPF-to-Create-a-Day-and-Night-Theme-Switch-But) 97 | 98 | ### 2. Riot Play Button 99 | 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. 100 | - [x] [GitHub](https://github.com/vickyqu115/riotplaybutton) 101 | - [x] [YouTube Tutorial (English, Korean subtitles)](https://bit.ly/40YoVIo) 102 | - [x] [BiliBili Tutorial (Chinese)](https://bit.ly/49L6dXu) 103 | - [x] [Detailed Article on Implementation (jamesnet.dev)](https://jamesnet.dev/article/51) 104 | - [x] [CodeProject](https://www.codeproject.com/Articles/5373396/Creating-a-League-of-Legends-Inspired-Play-Button) 105 | 106 | ### 3. Magic Navigation 107 | NavigationBar is a custom WPF control that showcases advanced techniques for creating a mobile-inspired navigation interface. It demonstrates WPF's power and flexibility in implementing complex UI behaviors and animations, with a focus on CustomControl development and efficient animation design. 108 | - [x] [GitHub](https://github.com/vickyqu115/navigationbar) 109 | - [x] [YouTube Tutorial (English, Korean subtitles)](https://bit.ly/3TVeRhF) 110 | - [x] [BiliBili Tutorial (Chinese)](https://bit.ly/3UvaOsl) 111 | - [x] [Detailed Article on Implementation (jamesnet.dev)](https://jamesnet.dev/article/edit/110) 112 | - [x] [CodeProject](https://www.codeproject.com/Articles/5375482/Customizing-ListBox-for-a-Smooth-Animated-Navigati) 113 | 114 | ### 4. Riot Slider 115 | RiotSlider is a custom WPF Slider control that demonstrates advanced techniques in WPF control development. It reimplements the standard WPF Slider as a CustomControl, utilizing the original WPF open-source implementation for PART_ reuse and showcasing WPF control design patterns. 116 | - [x] [GitHub](https://github.com/vickyqu115/riotslider) 117 | - [x] [YouTube Tutorial (English)](https://bit.ly/4dpsr3m) 118 | - [x] [BiliBili Tutorial (Chinese)](https://bit.ly/3QiZvkJ) 119 | - [x] [Detailed Article on Implementation (jamesnet.dev)](https://jamesnet.dev/article/111) 120 | - [x] [CodeProject](https://bit.ly/3JyibsM) 121 | 122 | ### 5. Smart Date 123 | SmartDate is a custom WPF control that reimagines the traditional DatePicker. Built from scratch by inheriting from the Control class instead of the built-in DatePicker, it offers a modern, flexible, and easily customizable alternative. This project showcases advanced WPF techniques and control development practices. 124 | - [x] [GitHub](https://github.com/vickyqu115/smartdate) 125 | - [x] [YouTube Tutorial (English)](https://bit.ly/4c8uGr3) 126 | - [x] [BiliBili Tutorial (Chinese)](https://bit.ly/3xOeyMJ) 127 | - [x] [Detailed Article on Implementation (jamesnet.dev)](https://jamesnet.dev/article/43) 128 | - [x] [CodeProject](https://bit.ly/4du4hVD) 129 | 130 | ### 6. Cupertino TreeView 131 | Cupertino TreeView is an advanced CustomControl that reimagines and extends WPF's default TreeView control. It leverages a unique structure inheriting from ItemsControl to effectively represent complex hierarchical data, applying the MVVM pattern to provide an excellent user experience and developer-friendly structure. 132 | - [x] [GitHub](https://github.com/vickyqu115/cupertino-treeview) 133 | - [x] [Detailed Article on Implementation (jamesnet.dev)](https://jamesnet.dev/article/122) 134 | - [x] [YouTube Tutorial (English)](https://www.youtube.com/watch?v=lZeEhYUYuiM) 135 | - [x] [BiliBili Tutorial (Chinese)](https://www.bilibili.com/video/BV1xh4y1N7f2/) 136 | 137 | ## WPF-related Books 138 | 139 | ### 2023 140 | - **"WPF Inside Out"** by Jaewung Lee, Yang Qu - [Link](https://localhost:7111/article/6) 141 | 142 | ### 2021 143 | - **"The Development Of Windows Presentation Foundation: Basics And Must-Know Information: Wpf Development On Linux"** by Gregg Mthimunye 144 | 145 | ### 2020 146 | - **"Mastering Windows Presentation Foundation: Build Responsive UIs for Desktop Applications with WPF, 2nd Edition"** by Sheridan Yuen 147 | - **"Exploring Windows Presentation Foundation: With Practical Applications in .NET 5"** by Taurius Litvinavicius 148 | 149 | ### 2018 150 | - **"Windows Presentation Foundation Development Cookbook: 100 Recipes to Build Rich Desktop Client Applications on Windows"** by Kunal Chowdhury 151 | - **"WPF 3d: Three-Dimensional Graphics with WPF and C#"** by Rod Stephens 152 | 153 | ### 2017 154 | - **"Mastering Visual Studio 2017: Build windows apps using WPF and UWP, accelerate cloud development with Azure, explore NuGet, and more"** by Kunal Chowdhury 155 | 156 | ### 2016 157 | - **"Learn WPF MVVM - XAML, C# and the MVVM pattern: Be ready for coding away next week using WPF and MVVM"** by Arnaud Weil 158 | - **"Practical C# and WPF For Financial Markets"** by Jack Xu 159 | 160 | ### 2015 161 | - **"Pro XAML with C#: Application Development Strategies (covers WPF, Windows 8.1, and Windows Phone 8.1)"** by Buddy James, Lori LaLonde 162 | 163 | ### 2012 164 | - **"Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5"** by Matthew MacDonald 165 | - **"Essential Windows Presentation Foundation (WPF)"** by Chris Anderson 166 | - **"WPF Control Development Unleashed: Building Advanced User Experiences"** by Pavan Podila, Kevin Hoffman 167 | - **"Pro WPF 4.5 in VB: Windows Presentation Foundation in .NET 4.5"** by Matthew MacDonald 168 | - **"Windows Presentation Foundation 4.5 Cookbook"** by Pavel Yosifovich 169 | - **"MVVM Unleashed"** by Michael Brown 170 | 171 | ### 2011 172 | - **"XAML Developer Reference"** by Ashish Ghoda, Mamta Dalal 173 | - **"Developer's Guide to Microsoft Prism 4: Building Modular MVVM Applications with Windows Presentation Foundation and Microsoft Silverlight (Patterns & Practices)"** by Brian Noyes, Geoff Cox, Karl Shifflett, Bob Brumfield, Michael Puleio, DAVID. HILL 174 | - **"Learning Expression Blend Fearlessly"** by Jin-Hee Jung 175 | 176 | ### 2010 177 | - **"WPF 4 Unleashed"** by Adam Nathan 178 | - **"WPF Programmer's Reference: Windows Presentation Foundation with C# 2010 and .NET 4"** by Rod Stephens 179 | 180 | ### 2009 181 | - **"Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4"** by Matthew MacDonald 182 | - **"Illustrated WPF"** by Daniel Solis 183 | - **"Pro WPF in VB 2010: Windows Presentation Foundation in .NET 4"** by Matthew MacDonald 184 | 185 | ### 2008 186 | - **"WPF in Action with Visual Studio 2008: Covers Visual Studio 2008 Service Pack 1 and .NET 3.5 Service Pack 1!"** by Arlen S. Feldman, Maxx Daymon 187 | - **"Sams teach yourself WPF in 24 hours"** by Robert Eisenberg 188 | - **"Pro WPF with VB 2008: Windows Presentation Foundation with .NET 3.5"** by Matthew MacDonald 189 | - **"Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5"** by Matthew MacDonald 190 | - **"WPF recipes in C# 2008"** by Sam Noble 191 | - **"Foundation Expression Blend 2"** by Victor Gaudioso 192 | 193 | ### 2007 194 | - **"Programming WPF: Building Windows UI with Windows Presentation Foundation"** by Ian Griffith, Chris Sells 195 | - **"Professional WPF Programming: .NET Development with the Windows Presentation Foundation"** by Michael Meyers, Shawn Livermore, Scott Van Vliet, Chris Andrade 196 | - **"Practical WPF Graphics Programming: Advanced .NET Graphics Development with the Windows Presentation Foundation Jack Xu"** by Jack Xu 197 | 198 | ### 2006 199 | - **"Windows Presentation Foundation Unleashed"** by Adam Nathan 200 | - **"Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation"** by Charles Petzold 201 | 202 | ## Contributing 203 | 204 | If you'd like to contribute to this Awesome list, please refer to [CONTRIBUTING.md](CONTRIBUTING.md). 205 | 206 | ## License 207 | 208 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 209 | 210 | All content listed here follows the license of each project. 211 | 212 | ## Contact 213 | 214 | * Website: https://jamesnet.dev 215 | * Email: james@jamesnet.dev, vickyqu115@hotmail.com 216 | --------------------------------------------------------------------------------