SharedMauiXamlStylesLibrary 1.1.0-preview
See the version list below for details.
dotnet add package SharedMauiXamlStylesLibrary --version 1.1.0-preview
NuGet\Install-Package SharedMauiXamlStylesLibrary -Version 1.1.0-preview
<PackageReference Include="SharedMauiXamlStylesLibrary" Version="1.1.0-preview" />
paket add SharedMauiXamlStylesLibrary --version 1.1.0-preview
#r "nuget: SharedMauiXamlStylesLibrary, 1.1.0-preview"
// Install SharedMauiXamlStylesLibrary as a Cake Addin #addin nuget:?package=SharedMauiXamlStylesLibrary&version=1.1.0-preview&prerelease // Install SharedMauiXamlStylesLibrary as a Cake Tool #tool nuget:?package=SharedMauiXamlStylesLibrary&version=1.1.0-preview&prerelease
About
This project is a shared style library for .NET MAUI applications containing recurring styles for core controls and for the Syncfusion .NET MAUI controls (https://www.syncfusion.com/maui-controls).
This project bases on the SharedXamarinXamlStyles (https://github.com/AndreasReitberger/SharedXamarinXamlStyles)
Nuget
Get the latest version from nuget.org<br>
IMPORTANT CHANGE
Since putting all FontKeys
in a ResourceDictionary
leads to poor performance of the app, we moved all FontKeys
to a static class instead.
For a migration guide, please see here:
https://github.com/AndreasReitberger/SharedMauiXamlStyles/wiki/Use-Icons-in-XAML-content#reference-icons
Used fonts
All used fonts are available from the SharedFonts.Fonts
property.
public class SharedFonts
{
#region Properties
public static Dictionary<string, string> Fonts = new()
{
{ "FontAwesome5Brands.otf", "FontAwesome5Brands" },
{ "FontAwesome5Regular.otf", "FontAwesome5Regular" },
{ "FontAwesome5Solid.otf", "FontAwesome5Solid" },
{ "materialdesignicons-webfont.ttf", "MaterialDesignIcons" },
{ "Montserrat-Bold.ttf", "MontserratBold" },
{ "Montserrat-Medium.ttf", "MontserratMedium" },
{ "Montserrat-Regular.ttf", "MontserratRegular" },
{ "Montserrat-SemiBold.ttf", "MontserratSemiBold" },
{ "UIFontIcons.ttf", "UIFontIcons" },
};
#endregion
}
In order to register all shared fonts, add following function to the MauiAppBuilder
.
Note! Don't forget to add the fonts also to your main MAUI app!
https://github.com/AndreasReitberger/SharedMauiXamlStyles/tree/main/source/SharedMauiXamlStylesLibrary/SharedMauiXamlStylesLibrary/Resources/Fonts
public static MauiApp CreateMauiApp()
{
MauiAppBuilder builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMauiCommunityToolkit()
.ConfigureFonts(fonts =>
{
// Your custom used fonts
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
})
// Initializes the library
.InitializeSharedMauiStyles(); // <== Add this line
}
Available control styles
Control | Core | Syncfusion |
---|---|---|
BoxView | ✅ | ❌ |
Button | ✅ | ❌ |
CheckBox | ✅ | ❌ |
Editor | ✅ | ❌ |
Entry | ✅ | ❌ |
Frame | ✅ | ❌ |
Grid | ✅ | ❌ |
Label | ✅ | ❌ |
Switch | ✅ | ❌ |
StackPanel | ✅ | ❌ |
RefreshView | ✅ | ❌ |
SfTabView | ❌ | ✅ |
SfListVirew | ❌ | ✅ |
Migration from Xamarin.Forms (Syncfusion.XForm)
An overview of the corresponding MAUI controls if you migrate from Syncfusion.XForm
to Syncfusion.MAUI
.
Syncfusion.XForms | MAUI (Core) | Syncfusion.MAUI |
---|---|---|
SfButton | Button | ❌ |
SfCheckBox | CheckBox | ❌ |
SfComboBox | Picker?! | ❌ |
SfBorder | Border | ❌ |
SfPullToRefresh | RefreshView | ❌ |
SfBusyIndicator | ActivityIndicator | ❌ |
SfSwitch | Switch | ❌ |
SfCircularGauge | ❌ | SfRadialGauge |
SfBadgeView | ❌ | SfBadgeView |
SfTabView | ❌ | SfTabView |
SfListVirew | ❌ | SfListVirew |
RoadMap
https://www.syncfusion.com/products/roadmap/maui-controls
List to be continued...
Usage
This library combines all styles in the DefaultTheme.xaml
, which can be merged into your LightTheme.xaml
/ DarkTheme.xaml
.
<ResourceDictionary
x:Class="KlipperRemoteControl.Themes.LightTheme"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:shared="clr-namespace:AndreasReitberger.Shared;assembly=SharedMauiXamlStylesLibrary"
>
<ResourceDictionary.MergedDictionaries>
<shared:DefaultTheme/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Same applies to the DarkTheme.
Licenses & Thirdparty
This project uses thirdparty fonts. All licenses can be found in the project folder under Licenses → LicenseFiles. It's mandatory to also add those licenses to your final App. In this case you can use the LicenseManager class to get a List of all used libraries and their licenses. https://github.com/AndreasReitberger/SharedMauiXamlStyles/tree/main/source/SharedMauiXamlStylesLibrary/SharedMauiXamlStylesLibrary/Licenses/LicenseFiles
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net7.0-ios was computed. net7.0-ios16.1 is compatible. net7.0-maccatalyst was computed. net7.0-maccatalyst16.1 is compatible. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows10.0.19041 is compatible. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- SharedMauiCoreLibrary (>= 1.0.11)
-
net7.0-android33.0
- SharedMauiCoreLibrary (>= 1.0.11)
-
net7.0-ios16.1
- SharedMauiCoreLibrary (>= 1.0.11)
-
net7.0-maccatalyst16.1
- SharedMauiCoreLibrary (>= 1.0.11)
-
net7.0-windows10.0.19041
- SharedMauiCoreLibrary (>= 1.0.11)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SharedMauiXamlStylesLibrary:
Package | Downloads |
---|---|
SharedMauiXamlStylesLibrary.Syncfusion
A collection of predefined Control styles for MAUI and Syncfusion. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.14 | 251 | 10/21/2024 |
1.2.13.2 | 150 | 9/23/2024 |
1.2.13.1 | 83 | 9/23/2024 |
1.2.13 | 102 | 9/20/2024 |
1.2.12 | 122 | 9/12/2024 |
1.2.11 | 145 | 8/10/2024 |
1.2.10 | 127 | 6/14/2024 |
1.2.9 | 125 | 5/10/2024 |
1.2.8 | 142 | 4/19/2024 |
1.2.7 | 124 | 4/12/2024 |
1.2.6 | 168 | 3/28/2024 |
1.2.5 | 164 | 3/20/2024 |
1.2.4 | 172 | 3/19/2024 |
1.2.3 | 190 | 2/19/2024 |
1.2.3-preview2 | 172 | 1/13/2024 |
1.2.3-preview1 | 172 | 1/7/2024 |
1.2.2 | 234 | 1/4/2024 |
1.2.1 | 266 | 12/6/2023 |
1.2.0 | 186 | 11/14/2023 |
1.1.4 | 395 | 8/5/2023 |
1.1.3 | 310 | 6/25/2023 |
1.1.2 | 273 | 6/24/2023 |
1.1.1 | 426 | 3/19/2023 |
1.1.0 | 370 | 3/8/2023 |
1.1.0-preview2 | 202 | 2/3/2023 |
1.1.0-preview1 | 206 | 2/2/2023 |
1.1.0-preview | 329 | 1/30/2023 |
1.0.10-preview1 | 221 | 2/2/2023 |
1.0.9 | 432 | 1/29/2023 |
1.0.8-preview | 274 | 1/10/2023 |
1.0.7.1-preview | 171 | 12/29/2022 |
1.0.7-preview | 164 | 12/29/2022 |
1.0.6 | 399 | 11/29/2022 |
1.0.5 | 493 | 10/5/2022 |
1.0.4 | 444 | 10/3/2022 |
1.0.1 | 487 | 8/15/2022 |