The .NET MAUI Markup Community Toolkit is a community-created library that contains Fluent C# Extension Methods to easily create your User Interface in C#
[GeneratedCode]
and [ExcludeFromCodeCoverage]
Attributes to SourceGenerators by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/251
RegisterReloadApplicationEventHandler
Runs in DEBUG Configuration by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/263
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/3.3.0...4.0.0
If you've been having trouble using .NET Hot Reload, you have my apologies! It is now fixed in v3.3.1.
Thanks to @lukewire129 for spotting this bug and bringing it to our attention! https://github.com/CommunityToolkit/Maui.Markup/discussions/261
You've read that right! The C# Markup extensions now have Hot Reload support!
No more restarting your debugging session to tweak your UI changes. Faster dev cycles, more iterations, faster development!
Everything you need to know to get started can be found in our documentation.
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/3.2.0...3.3.0
AccelerateBuildsInVisualStudio
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/197
GesturesExtensions.TypedBindings.cs
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/192
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/3.1.0...3.2.0
IValueConverter
in Typed Bindings Extensions by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/183
BindCommand
Support for Typed Bindings Extensions by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/184
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/3.0.0...3.1.0
Typed Bindings (also known as "Compiled Bindings") revolutionize the way we make bindings using CommunityToolkit.Maui.Markup:
Learn more ✅ Official Docs ✅ MauiConverter Sample App
// One-way (aka read-only) Binding
new Label()
.Row(Row.Description)
.Bind(Label.TextProperty,
static (StoryModel m) => m.Description)
// Two-way Binding
new Entry()
.Bind(Entry.TextProperty,
static (SettingsViewModel vm) => vm.NumberOfTopStoriesToFetch,
static (SettingsViewModel vm, int text) => vm.NumberOfTopStoriesToFetch = text)
Directory.Build.props
to match CommunityToolkit.Maui
by @Youssef1313 in https://github.com/CommunityToolkit/Maui.Markup/pull/174
.Bind()
to Support TypedBinding by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/156
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/2.1.0...3.0.0
In this release @mrlacey has added new VisualElement
extensions (https://github.com/CommunityToolkit/Maui.Markup/pull/141) enabling you to finally use fluent C# methods for properties like VisualElement.BackgroundColor
, new Button().BackgroundColor(Colors.Pink)
.
We've also fixed our Source Generators to fix some bugs (https://github.com/CommunityToolkit/Maui.Markup/pull/161), be more performant (https://github.com/CommunityToolkit/Maui.Markup/pull/162 ) and to support custom types for ITextAlignment
(https://github.com/CommunityToolkit/Maui.Markup/pull/150)
ITextAlignment
Source Generators by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/150
internal
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/159
TextAlignmentExtensions
for .NET MAUI Controls internal
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/161
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/2.0.0...2.1.0
The C# Markup Extensions now officially support .NET 7!
Note: We've bumped the Major Version number because v2.0.0 is only compatible with .NET 7.0+
ObjectExtensionsTests
to Include Derived Types by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/136
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/1.2.1...2.0.0
BindableObject
Constraint from .Assign()
and .Invoke()
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/131
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/1.2.0...1.2.1
Refit
+ Polly
with Microsoft.Extensions.Http.Polly
and Refit.HttpClientFactory
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/112
IDisposable
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/123
ITextAlignment
for TextAlignmentExtensions
by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/125
ContentPage
Example by @brminnick in https://github.com/CommunityToolkit/Maui.Markup/pull/128
Full Changelog: https://github.com/CommunityToolkit/Maui.Markup/compare/1.1.1...1.2.0