Releases: VincentH-Net/CSharpForMarkup
csharpmarkup2-winui-wpf-0-8-1
What's Changed
- Improvements for
Style:- No need to use
newin value setters - New
Bindextension methods for binding a dependency property in a Style
- No need to use
- Add
ItemsPanelTemplatehelpers - Add
ControlTemplate,ContentPresenterandVisualStateManagerhelpers (WPF, Uno Platform) - Add
BindTemplatehelper to bind to the templated parent from within aControlTemplate(WPF, Uno Platform) - Add
ControlTemplateusage in example sln (WPF, Uno Platform) - Hot Reload in example now works for editing styles (WPF)
Known limitations:
- The WinUI 3 Desktop platform does not offer
ControlTemplaterelated helpers yet, pending a fix for this WinUI 3 issue.
This is because WinUI 3 Desktop does not expose API's to create aControlTemplatefrom code - which can be worked around via a bit of XAML and a custom attached property, however it also does not exposeTemplatedParentin any API and it does not setTemplatedParentfor items added in code to a XAML-created ControlTemplate either, which meansControlTemplatescreated in code cannot have functioning bindings toTemplatedParentand no functioningContentPresenter. With these limitations ControlTemplates are of little value.
Full Changelog: csharpmarkup2-winui-wpf-0-6-14...csharpmarkup2-winui-wpf-0-8-1
csharpmarkup2-winui-wpf-0-6-14
What's Changed
WinUI 3 and Uno Platform
- Changed namespace
Microsoft.UI.MarkuptoCSharpMarkup.WinUI
WPF
- Add
CSharpMarkup.WPFNuGet andCSharpMarkup.WPF.Examplesapplication
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 alsoUIDependencyObject) 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()andSpreadS()(allocation-free) - Add
.Resources()convenience helper - Add default bind properties for
Brushderived 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
stringandUIElementforInline - Replace
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 methods - Update and cleanup example applications
- WPF example: automatic update on .NET Hot Reload
- Fixes
Full Changelog: csharpmarkup2-winui-0-5-1...csharpmarkup2-winui-wpf-0-6-14
CSharpMarkup.WinUI 0.5.1 Pre-release
Changes in this release:
- Updated to Uno 4
This is an early preview, intended mainly to gauge interest and to get feedback on the shape and features of the markup API. NJoy playing around with this and chime in with issues if you like / want things or if you have questions.
Twitter feedback is also welcome - use #CSharpForMarkup and @vincenth_net, thanks!
Only Windows Desktop and webassembly targets have been tested at this time, and there has been no webassembly performance optimization so far. Expect frequent updates in the coming weeks!
Targets Microsoft.WindowsAppSDK 1.0.0 / Uno.WinUI 4.0.9
CSharpMarkup.WinUI 0.5.0
Initial release, announced at UNOCONF 2021
This is an early preview, intended mainly to gauge interest and to get feedback on the shape and features of the markup API. NJoy playing around with this and chime in with issues if you like / want things or if you have questions.
Twitter feedback is also welcome - use #CSharpForMarkup and @vincenth_net, thanks!
Only Windows Desktop and webassembly targets have been tested at this time, and there has been no webassembly performance optimization so far. Expect frequent updates in the coming weeks!
Targets Microsoft.WindowsAppSDK 1.0.0 / Uno.WinUI 3.11.6
csharpformarkup-1-archive
With CSharpForMarkup 2 around the corner, the source, docs, history and news for CSharpForMarkup 1 is now archived in this release.
CSharpForMarkup 1 targets Microsoft .NET Xamarin and Maui with a limited set of fluent helpers.
Additional implementations of CSharpForMarkup 1 can be found here: