Open-source C# projects categorized as WPF | Edit details
Related topics: #C# #MVVM #C# #Windows #.NET

Top 23 C# WPF Projects

  • GitHub repo ScreenToGif

    🎬 ScreenToGif allows you to record a selected area of your screen, edit and save it as a gif or video.

    Project mention: LPT! Stop using phones to take photos or videos of your monitors today! Here are some better solutions | reddit.com/r/IndieDev | 2021-11-28

    "ScreenToGif - Record your screen, edit and save as a gif, video or other formats" https://www.screentogif.com

  • GitHub repo MaterialDesignInXamlToolkit

    Google's Material Design in XAML & WPF, for C# & VB.Net.

    Project mention: WPF GUI that works like Bootstrap textbox design? | reddit.com/r/csharp | 2021-11-09

    Maybe http://materialdesigninxaml.net/ has this

  • Smarter Code

    Your Free Guide to Become Microsoft Azure Certified. Get this free guide to learn about different Azure certifications, what fits your current role, preparation resources, and freelancing platforms for Azure professionals to earn income

  • GitHub repo CefSharp

    .NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework

    Project mention: Cancelling a TaskCompletionSource wait | reddit.com/r/CefSharp | 2021-11-11

    Imports System.Threading Imports CefSharp Imports CefSharp.WinForms Public Class Waits Private Cancellation_Token_Source As CancellationTokenSource Private Property Chromium As ChromiumWebBrowser Sub New(Chromium As ChromiumWebBrowser) Me.Chromium = Chromium End Sub Public Sub Create_Cancellation_Token() ' Needs to be created the first time and after a cancel. Otherwise, we can just use the same one. If Cancellation_Token_Source Is Nothing OrElse Cancellation_Token_Source.IsCancellationRequested Then Cancellation_Token_Source = New CancellationTokenSource End Sub Public Sub Cancel() Cancellation_Token_Source.Cancel() Cancellation_Token_Source.Dispose() End Sub Public Function Page_Load_Task() As Task ' Original source: https://github.com/cefsharp/CefSharp/blob/cefsharp/83/CefSharp.OffScreen.Example/Program.cs#L127 Dim Handler As EventHandler(Of LoadingStateChangedEventArgs) Dim Task = New TaskCompletionSource(Of Boolean)(TaskCreationOptions.RunContinuationsAsynchronously) Dim Cancellation_Token As CancellationToken = Cancellation_Token_Source.Token Cancellation_Token.Register(Sub() Task.TrySetCanceled()) Handler = Sub(Sender, Arguments) ' Wait for the entire page to finish loading and not just the first frame. If Not Arguments.IsLoading Then RemoveHandler Chromium.LoadingStateChanged, Handler ' It is important that the continuation runs async via TaskCreationOptions.RunContinuationsAsynchronously. Task.TrySetResult(True) End If End Sub AddHandler Chromium.LoadingStateChanged, Handler Return Task.Task End Function Public Async Function Page_Load() As Task ' Wrapper to silently catch exception upon cancellation. Try Await Page_Load_Task() Catch TaskCanceledException As Exception End Try End Function Public Function Url_Change_Task(Fragment As String) As Task ' Waits for page to load with a url that end with the fragment. (Modifed from Page_Load().) Dim Handler As EventHandler(Of AddressChangedEventArgs) Dim Task = New TaskCompletionSource(Of Boolean)(TaskCreationOptions.RunContinuationsAsynchronously) Dim Cancellation_Token As CancellationToken = Cancellation_Token_Source.Token Cancellation_Token.Register(Sub() Task.TrySetCanceled()) Handler = Sub(Sender, Arguments) If Arguments.Address.EndsWith(Fragment) Then RemoveHandler Chromium.AddressChanged, Handler Task.TrySetResult(True) End If End Sub AddHandler Chromium.AddressChanged, Handler Return Task.Task End Function Public Async Function Url_Change(Fragment As String) As Task ' Wrapper to silently catch exception upon cancellation. Try Await Url_Change_Task(Fragment) Catch TaskCanceledException As Exception End Try End Function Public Sub Sleep(Optional Deciseconds As Integer = 1) For Second As Integer = 1 To Deciseconds If Cancellation_Token_Source.IsCancellationRequested Then Exit For Thread.Sleep(100) Application.DoEvents() Next End Sub End Class

  • GitHub repo MahApps.Metro

    A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.

    Project mention: .NET 6 | news.ycombinator.com | 2021-11-08

    I've been using MahApps.Metro[1] and MaterialDesignXAML[2]. Those two libraries have made me feel like sticking with WPF until I retire in 5 to 10 years. I'm constantly getting feedback from clients that the applications (boring business applications) look so modern. It's been a nice selling point as my niche is rewriting VBA/VB6 engineering software.



  • GitHub repo ReactiveUI

    An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.

    Project mention: Beginner MVVM + Reactive Question (C# + UniRx) | reddit.com/r/dotnet | 2021-11-10

    If you're trying to use reactive with MVVM, you might have a look at ReactiveUI, an MVVM toolkit designed to work with reactive extensions. Specifically in this case, you could leverage DynamicData (RXUI's preferred method of handling collections), which lets you trigger updates based on change notification from child items, among other things. I'm still relatively new to RXUI myself, but if you have any questions I can certainly try to help a bit more.

  • GitHub repo lively

    Free and open-source software that allows users to set animated desktop wallpapers and screensavers.

    Project mention: So what’s the difference between the Microsoft store version and the basic site of lively wallpaper? | reddit.com/r/LivelyWallpaper | 2021-11-27
  • GitHub repo WPF

    WPF is a .NET Core UI framework for building Windows desktop applications.

    Project mention: Laughably small properties windows on 27' 4k monitor with 150% scaling | reddit.com/r/Windows11 | 2021-09-23

    Issue on Dot Net Core repo: Application not scaled with .NET Core 3.1.19 #5375

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo LiveCharts2

    Simple, flexible, interactive & powerful charts, maps, and gauges for .Net, LiveCharts2 can now practically run everywhere WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.

    Project mention: Chart for performance over time? | reddit.com/r/csharp | 2021-11-27

    You can also look at this: https://lvcharts.net/

  • GitHub repo Prism

    Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications.. (by PrismLibrary)

    Project mention: Creating such a small class would make the code weird | reddit.com/r/gamedev | 2021-11-21

    It looks to me like you're trying to avoid setting a property if the value won't change, and you want to know if it did change. Here's an alternate approach which you could take https://github.com/PrismLibrary/Prism/blob/master/src/Prism.Core/Mvvm/BindableBase.cs

  • GitHub repo EarTrumpet

    EarTrumpet - Volume Control for Windows

    Project mention: EarTrumpet for Windows 11 | reddit.com/r/CKsTechNews | 2021-10-06
  • GitHub repo UWP Community Toolkit

    The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10. The toolkit is part of the .NET Foundation.

    Project mention: Automated nameof(Field) | reddit.com/r/csharp | 2021-11-19

    See types like ObservableObject here for far-flung examples with all the bells and whistles you'd ever need.

  • GitHub repo Dependencies

    A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.

    Project mention: Identifying 'Visual C++ Redistributable' dependencies... | reddit.com/r/Windows10 | 2021-02-15

    https://stackoverflow.com/questions/18595008/how-do-i-determine-which-c-redistributables-my-program-needs-to-run point to https://github.com/lucasg/Dependencies

  • GitHub repo MVVMCross

    The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.

  • GitHub repo Playnite

    Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

    Project mention: Can’t install playnite | reddit.com/r/playnite | 2021-11-26

    Perhaps try the latest release installer direct from github instead?

  • GitHub repo HandyControl

    Contains some simple and commonly used WPF controls

    Project mention: What free WPF control libraries can you recommend? | reddit.com/r/csharp | 2021-03-28

    Also checkout HandyControl

  • GitHub repo Windows-Auto-Night-Mode

    Automatically switches between the dark and light theme of Windows 10 and Windows 11

    Project mention: Auto Dark mode on Windows 11? | reddit.com/r/Windows11 | 2021-11-22

    Use this for dark mode and this for wallpaper changes. It's what I do. Uses little resources and works well.

  • GitHub repo Extended WPF Toolkit™

    All the controls missing in WPF. Over 1 million downloads.

  • GitHub repo ModernWpf

    Modern styles and controls for your WPF applications

    Project mention: Any changes to how Winforms or WPF apps look/behave on Windows 11? | reddit.com/r/dotnet | 2021-11-13

    This is the closest I’ve found: https://github.com/Kinnara/ModernWpf

  • GitHub repo Oxyplot

    A cross-platform plotting library for .NET

  • GitHub repo Caliburn.Micro

    A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.

    Project mention: 3rd party frameworks to add ease of use to XAML/WPF? | reddit.com/r/csharp | 2021-07-08

    I haven't done WPF/XAML stuff in years but I really liked Caliburn Micro, largely because of the convention-based auto-binding.

  • GitHub repo Fluent.Ribbon

    WPF Ribbon control like in Office

    Project mention: Any Free Ribbon Controls For Vbnet | reddit.com/r/visualbasic | 2021-02-15

    https://github.com/fluentribbon/Fluent.Ribbon is another ribbon control for WPF

  • GitHub repo cairoshell

    Cairo is a customizable, intuitive desktop environment for Windows.

    Project mention: What has been your experience with alternative shells? | reddit.com/r/windows | 2021-08-31
  • GitHub repo AvalonEdit

    The WPF-based text editor component used in SharpDevelop

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-11-28.

C# WPF related posts


What are some of the best open-source WPF projects in C#? This list will help you:

Project Stars
1 ScreenToGif 15,881
2 MaterialDesignInXamlToolkit 11,522
3 CefSharp 8,390
4 MahApps.Metro 7,985
5 ReactiveUI 6,664
6 lively 5,538
7 WPF 5,452
8 LiveCharts2 5,029
9 Prism 4,806
10 EarTrumpet 4,685
11 UWP Community Toolkit 4,614
12 Dependencies 4,292
13 MVVMCross 3,587
14 Playnite 3,555
15 HandyControl 3,265
16 Windows-Auto-Night-Mode 3,255
17 Extended WPF Toolkit™ 2,944
18 ModernWpf 2,557
19 Oxyplot 2,443
20 Caliburn.Micro 2,389
21 Fluent.Ribbon 1,875
22 cairoshell 1,583
23 AvalonEdit 1,282
Find remote jobs at our new job board 99remotejobs.com. There are 34 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Scout APM: A developer's best friend. Try free for 14-days
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.