dotnet / dotnet/winforms

Improving WinForms and WPF agility

Open
#12,502 0 comments 8 reactions 0 assignees View on GitHub
epic
Dominant language
C#
Stars
4.9k
Forks
1.1k
Avg merge
20h 23m
Merged PRs (30d)
103

Description

WPF and WinForms are the two components of https://github.com/dotnet/windowsdesktop. The two projects have a long history that has intertwined in various ways over the past 20+ years. Leaning in together as the Win32 managed frameworks we can leverage each-other's efforts, reduce duplication, and make it easier for contributions to accrue to both platforms.

In .NET 10 we plan to start sharing code between the two platforms. WPF already depends on the WinForms build. As such, the shared code will come from the WinForms repo. WinForms introduced a lower-level System.Private.Windows.Core assembly in .NET 9 to facilitate the two packages that ship from WinForms: WinForms itself, and System.Drawing.Common. This no-dependency assembly is the one we'll be sharing throughout both WPF and WinForms.

The better aligned the two repos are, the easier it will be.

The WPF issue for this effort is https://github.com/dotnet/wpf/issues/10081.

In WinForms there are a few tasks related to this; we'll capture them here.

- [ ] Factor shared test utilities (#12407)
- [x] https://github.com/dotnet/winforms/issues/12862
- [ ] Clean up .editorconfig usage (#12426)
- [ ] Refresh code style docs
- [ ] Ensure test guidelines are up to date
- [ ] Relocate shared docs as appropriate
- [ ] Document procedures for updating shared code and docs
- [ ] Factor OLE implementation to allow sharing (Clipboard / Drag & Drop)
- [ ] Ensure Numerics Color exchange types is fully implemented (https://github.com/dotnet/runtime/issues/48615)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.