Desktop development is a complete mess at the moment on Windows. Core 3.1 definitely has many good improvements and is good for class libraries but adding a GUI currently has few desirable options
1)Winforms designer doesn't work with complex or 3rd party controls
2) WinUI doesn't work on Win32
3) WPF works but lengthens development and will soon be out of sorts with this WinUI
4) Really everyone wants cross-platform GUI but not much forthcoming except Uno or Avalonia but these are risky for large projects
5) Blazor could be interesting but only works as Desktop standalone using Electron.NET which seems a horrible dependence.
6) Old Winforms on defunct .NET framework works but looks horrible
7) Old 3rd party Winforms on defunct .NET framework is expensive