Open
Description
Is your feature request related to a problem? Please describe.
Primitive types:
- Color, HslColor, HsvColor
- CornerRadius, Thickness
- Point, Size
- Vector, Vector3D
- GridLength
- RelativeScalar, RelativePoint, RelativeRect
- PixelPoint, PixelSize, PixelRect
- Cue
Enum-like types that should at least have IParsable only:
- Easing
- Cursor
- TextTrimming
- TextDecorationCollection
- ThemeVariant
- WindowTransparencyLevel
Other:
- BoxShadow, BoxShadows, Effect
- Matrix
- KeySpline?
Not primitives, but can be revisited as well:
- StreamGeometry, Geometry,
- TransformOperations, Transform
Describe the solution you'd like
- [Must]
StringTokenizer
needs to useReadOnlySpan<char>
and ideally be a "ref struct" (breaking change? for some reason this class is not internal). - [Must] All primitive types have to implement IParsable and IFormattable.
- [Should] Primitive types should implement ISpanParsable and ISpanFormattable.
- [Should] All primitive parsting/formatting should respect culture info and culture specific separators. WPF does this already.
- [Should] Make devtools use new TryParse methods.
- [Optional] Primitive types should have TypeConverter registered on them. WPF and MAUI do that, but we gave up on the half-way - primarily because we don't really use them, and instead parse compile-time everything, which is better by itself.
Describe alternatives you've considered
No response
Additional context
Related #16389