WinUI and Uno Platform: changed namespace Microsoft.UI.Markup to CSharpMarkup.WinUI
WPF: Add CSharpMarkup.WPF NuGet and CSharpMarkup.WPF.Examples application
Improvements for all UI frameworks (WPF, WinUI 3 and Uno Platform):
Add many layout factory helpers generated via [ContentProperty] attribute
Add UIObject (and for WPF also UIDependencyObject) to allow specifying both markup and non-markup content objects without appending .UI
Add content parameter to the generated helper that has parameters for a view's self-defined writable properties
Add support for inheriting specified markup factory helper parameters in derived types, used for TimeLine
Add performant generic Spread() and SpreadS() (allocation-free)
Add .Resources() convenience helper
Add default bind properties for Brush derived types
Add implicit to.<Type> convertor from markup types to support e.g. .BorderBrush(Red)
Add generated to.<Type> type convertors from [TypeConvertor] attribute for WPF and UnoWinUI (WinUI does not use that attribute - need to select and add convertors manually)
Add support to use manual type convertors in codegen
Add 4 manual type convertors
Support passing in string and UIElement for Inline
Replace O<> with nullable value types to support automatic value conversion for builder helper method parameters, e.g. to compile Border(CornerRadius: 2.5). As a consequence remove redundant generated factory methods
WinUI and Uno Platform: changed namespace
Microsoft.UI.Markup
toCSharpMarkup.WinUI
WPF: Add
CSharpMarkup.WPF
NuGet andCSharpMarkup.WPF.Examples
applicationImprovements for all UI frameworks (WPF, WinUI 3 and Uno Platform):
[ContentProperty]
attributeUIObject
(and for WPF alsoUIDependencyObject
) to allow specifying both markup and non-markup content objects without appending.UI
TimeLine
Spread()
andSpreadS()
(allocation-free).Resources()
convenience helperBrush
derived typesto.<Type>
convertor from markup types to support e.g..BorderBrush(Red)
to.<Type>
type convertors from[TypeConvertor]
attribute for WPF and UnoWinUI (WinUI does not use that attribute - need to select and add convertors manually)string
andUIElement
forInline
O<>
with nullable value types to support automatic value conversion for builder helper method parameters, e.g. to compileBorder(CornerRadius: 2.5)
. As a consequence remove redundant generated factory methodsFixes