Skip to content

Releases: VincentH-Net/CSharpForMarkup

csharpmarkup2-winui-wpf-0-8-1

30 Mar 17:53

Choose a tag to compare

What's Changed

  • Improvements for Style:
    • No need to use new in value setters
    • New Bind extension methods for binding a dependency property in a Style
  • Add ItemsPanelTemplate helpers
  • Add ControlTemplate, ContentPresenter and VisualStateManager helpers (WPF, Uno Platform)
  • Add BindTemplate helper to bind to the templated parent from within a ControlTemplate (WPF, Uno Platform)
  • Add ControlTemplate usage 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 ControlTemplate related helpers yet, pending a fix for this WinUI 3 issue.
    This is because WinUI 3 Desktop does not expose API's to create a ControlTemplate from code - which can be worked around via a bit of XAML and a custom attached property, however it also does not expose TemplatedParent in any API and it does not set TemplatedParent for items added in code to a XAML-created ControlTemplate either, which means ControlTemplates created in code cannot have functioning bindings to TemplatedParent and no functioning ContentPresenter. 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

15 Feb 13:07
d283945

Choose a tag to compare

What's Changed

WinUI 3 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
  • 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

03 Dec 14:50

Choose a tag to compare

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

01 Dec 09:23

Choose a tag to compare

Pre-release

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

23 Nov 15:34

Choose a tag to compare

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: