[Umbrella-Item] Make WinForms DataBinding Apps trimmable
- Dominant language
- C#
- Stars
- 4.9k
- Forks
- 1.1k
- Avg merge
- 20h 23m
- Merged PRs (30d)
- 103
Description
This is an investigation and prototype issue at this point (with some good prospects of success, though).
- [ ] Investigate options to improve Designer-side code generation to support Trimming for WinForms App which use Designer-hooked-up Data Binding (we will *explicitly* exclude non-type-safe Data Binding, like Runtime-Binding to DataTables/DataViews which use Property Descriptors to create "Types" at runtime.)
- [ ] Investigate schema-discovery based on custom type descriptors, and runtime type conversions via reflection and the impact on trimming. Also take
- [ ] the [`Binding.Format` event](https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.binding.format?view=windowsdesktop-8.0)
- [ ] the [`Binding.Parse` event](https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.binding.parse?view=windowsdesktop-8.0)
- [ ] [the different intrinsic ways to convert to target on binding](https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/DataBinding/Binding.cs,826)
- [ ] [the different intrinsic ways to convert to source on binding](https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/DataBinding/Binding.cs,962)
- [ ] Maybe schema-generation in the DataGridView, [like described in this request/API suggestion](https://github.com/dotnet/winforms/issues/9138)
into account.
- [ ] Investigate runtime API-Improvements around
- [ ] [Binding](https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/DataBinding/Binding.cs,bed1e5beea29de5c)
- [ ] [BindingSource](https://source.dot.net/#q=BindingSource)
- [ ] [Formatter](https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/Internal/Formatter.cs,e12c083610518727)
- [ ] [ListBindingHelper](https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/DataBinding/ListBindingHelper.cs,cdf058a848f1cd26)
- [ ] [ListBindingConverter](https://source.dot.net/#System.Windows.Forms/System/Windows/Forms/DataBinding/ListBindingConverter.cs,b89feeecce85a487)
- [ ] [BindingList](https://source.dot.net/#System.ComponentModel.TypeConverter/System/ComponentModel/BindingList.cs,55afabf0a74c12cc)
Contributor guide
Assessment
This issue has not been assessed yet.