CSharpForMarkup Versions Save

Concise, declarative C# UI markup for .NET browser / native UI frameworks

csharpmarkup2-winui-2-3-66

4 months ago

New templates

This release supports the new mcs-uno-markup2 and mcs-uno-view templates in Modern.CSharp.Templates 1.5.0:

  • The mcs-uno-view template is used by the New-View.ps1 script, which is included in mcs-uno-markup2
  • Improved frictionless startup for both existing and new Uno solutions - whether created with Uno's dotnet new unoapp template or with the Uno solution wizard for Visual Studio.
  • Add support for .NET 8 / .NET 7, as well as model types MVUX / MVVM / none
  • Now pre-structured with best practices for maintainability and code reuse of C# Markup 2 UI.

New methods

This release adds / changes the following methods:

  • Add content alignment convenience extension methods for Control: LeftContent, HCenterContent, RightContent, TopContent, VCenterContent, BottomContent, CenterContent, StretchContent
  • Add Stretch convenience extension method for FrameworkElement
  • Add overload for Page Content extension method with different parameter order for better markup readability

Full Changelog: https://github.com/VincentH-Net/CSharpForMarkup/compare/csharpmarkup2-winui-2-3-64...csharpmarkup2-winui-2-3-66

csharpmarkup2-winui-2-3-64

5 months ago

This release is fully updated to the awesome Uno 5 release and .NET 8 GA. You can use the Uno Solution Wizard for Visual Studio and add a C# Markup 2 project to it at any time with one command. All Uno wizard customizations are supported: combine C# Markup 2 with MVUX or MVVM, XAML or Uno C# Markup, use Uno Navigation extensions, and target .NET 8 or .NET 7. All Uno target platforms are supported.

A brand new dotnet new C# Markup 2 project template gets you going in no time - carefully optimized for an optimal developer experience: uncluttered solution explorer view, automatic file grouping of markup and logic files, uncluttered markup source, focused Intellisense, clear starting points for markup extensions in your code, plus fast hot reload - both automatic and with a hot reload button overlay in debug mode, for the platforms that your IDE can hot reload but cannot (yet) update the UI automatically.

Enjoy general C# Markup 2 improvements, plus C# Markup 2 API's for 5 additional Uno libraries:

The getting started is fully up to date. Examples in this repo and the readme will be updated soon to show off the new features.

NJoy concise C# Markup!

csharpmarkup2-winui-wpf-2-2-21

10 months ago

Windows App SDK

  • Fix to add missing layout type helpers for many types of content properties - both collection and single item type content:
    VisualStateGroup, CommandBar, Hub, MenuBarItemFlyout, MenuFlyout, MenuFlyoutSubItem, CommandBarFlyoutCommandBar, RadioButtons, TabView and more
  • Fix helpers for ItemsRepeater ItemTemplate property plus add manual lambda DataTemplate helper
  • Fix for multiple ContentAttribute implementations used in Windows App SDK
  • Fix for multiple GradientStop collection types used in Windows App SDK
  • Fix for inconsistent parameter order for GradientStop between WinUI and Uno - add manual overload to allow specifying offset and color by value without ambiguity
  • Shorten generated code: omit namespaces that are in using statements from type names

Uno Platform

  • Fix to add missing layout type helpers for many types of content properties - both collection and single item type content:
    VisualStateGroup, CommandBar, Hub, MenuBarItemFlyout, MenuFlyout, MenuFlyoutSubItem, CommandBarFlyoutCommandBar, RadioButtons, TabView, Border, Flyout, MediaPlayerPresenter, SplitView, Viewbox and more
  • Fix helpers for ItemsRepeater ItemTemplate property plus add manual lambda DataTemplate helper
  • Shorten generated code: omit namespaces that are in using statements from type names

WPF

  • Shorten generated code: omit namespaces that are in using statements from type names

Full Changelog: https://github.com/VincentH-Net/CSharpForMarkup/compare/csharpmarkup2-winui-wpf-2-1-14...csharpmarkup2-winui-wpf-2-2-21

csharpmarkup2-winui-wpf-2-1-14

10 months ago

Windows App SDK

  • Updated to latest stable Microsoft.WindowsAppSDK 1.3.230602002

Uno Platform

  • Updated to latest stable Uno.WinUI 4.9.20
  • Map Uno NotImplemented attribute to .NET UnsupportedOSPlatform attribute Now you will get compile warnings when a WinUI API is not implemented by Uno Platform for a specific target platform; This is the equivalent of the Uno0001 warning

WPF

  • Version of CSharpMarkup.WPF NuGet aligned to version of CSharpMarkup.WinUI NuGet
  • Enable Source Link

Full Changelog: https://github.com/VincentH-Net/CSharpForMarkup/compare/csharpmarkup2-winui-2-0-0...csharpmarkup2-winui-wpf-2-1-14

csharpmarkup2-winui-2-0-0

1 year ago

Major Release

C# Markup 2 target platforms are now updated and expanded:

  • .NET 7 and C# 11 for all target platforms
  • Supports latest version of Windows App SDK for targeting Windows - no dependency on Uno Platform
  • Supports latest version of Uno.WinUI for targeting Android, iOS, Mac Catalyst, WebAssembly, Skia/Tizen, Skia/WPF, and Skia/GTK for Linux
  • Supports platform specific API's and API variations (separate C# Markup API's generated for each target platform, compiled into separate assemblies)
  • Built for multi-targeting
  • Adds Source Link for easy debugging and discovery of API's and API patterns
  • Comes with high-quality mcs-winui3-app and mcs-winui3-view dotnet new templates
    • All code built to the highest C# standards: nullable enabled, zero warnings, fully compliant with the mcs-editorconfig template
    • Supports rebuild UI on C# Hot Reload - including smart workarounds for various MS hot reload defects
    • Has built-in debug navigator overlay to quickly build out your pages in hot reload
    • Has New-View.ps1 to quickly add views from within Visual Studio's terminal. Create views with or without viewmodel.
    • Uses a combination of CommunityToolkit.Mvvm and PropertyChanged.Fody for an optimal developer experience with viewmodels
    • Automatic file nesting of <view>.cs and <view>.logic.cs in solution explorer
    • Application main window content is now also a C# Markup view (in App.cs and App.logic.cs)
  • new .Content() extension method on Page allows to configure existing page instances (created by navigating to a page) fully in C# Markup instead of in the .logic.cs file