SharedMauiXamlStylesLibrary.Syncfusion
1.1.0
See the version list below for details.
dotnet add package SharedMauiXamlStylesLibrary.Syncfusion --version 1.1.0
NuGet\Install-Package SharedMauiXamlStylesLibrary.Syncfusion -Version 1.1.0
<PackageReference Include="SharedMauiXamlStylesLibrary.Syncfusion" Version="1.1.0" />
paket add SharedMauiXamlStylesLibrary.Syncfusion --version 1.1.0
#r "nuget: SharedMauiXamlStylesLibrary.Syncfusion, 1.1.0"
// Install SharedMauiXamlStylesLibrary.Syncfusion as a Cake Addin #addin nuget:?package=SharedMauiXamlStylesLibrary.Syncfusion&version=1.1.0 // Install SharedMauiXamlStylesLibrary.Syncfusion as a Cake Tool #tool nuget:?package=SharedMauiXamlStylesLibrary.Syncfusion&version=1.1.0
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)
Nugets
Get the latest version from nuget.org<br>
Package | Nuget | Downloads |
---|---|---|
SharedMauiXamlStyles | ||
SharedMauiXamlStyles.Syncfusion |
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
- SharedMauiXamlStylesLibrary (>= 1.1.0)
- Syncfusion.Maui.Charts (>= 20.4.53)
- Syncfusion.Maui.Core (>= 20.4.53)
- Syncfusion.Maui.DataGrid (>= 20.4.53)
- Syncfusion.Maui.Gauges (>= 20.4.53)
- Syncfusion.Maui.Inputs (>= 20.4.53)
- Syncfusion.Maui.ListView (>= 20.4.53)
- Syncfusion.Maui.Scheduler (>= 20.4.53)
- Syncfusion.Maui.Sliders (>= 20.4.53)
- Syncfusion.Maui.TabView (>= 20.4.53)
-
net7.0-android33.0
- SharedMauiXamlStylesLibrary (>= 1.1.0)
- Syncfusion.Maui.Charts (>= 20.4.53)
- Syncfusion.Maui.Core (>= 20.4.53)
- Syncfusion.Maui.DataGrid (>= 20.4.53)
- Syncfusion.Maui.Gauges (>= 20.4.53)
- Syncfusion.Maui.Inputs (>= 20.4.53)
- Syncfusion.Maui.ListView (>= 20.4.53)
- Syncfusion.Maui.Scheduler (>= 20.4.53)
- Syncfusion.Maui.Sliders (>= 20.4.53)
- Syncfusion.Maui.TabView (>= 20.4.53)
-
net7.0-ios16.1
- SharedMauiXamlStylesLibrary (>= 1.1.0)
- Syncfusion.Maui.Charts (>= 20.4.53)
- Syncfusion.Maui.Core (>= 20.4.53)
- Syncfusion.Maui.DataGrid (>= 20.4.53)
- Syncfusion.Maui.Gauges (>= 20.4.53)
- Syncfusion.Maui.Inputs (>= 20.4.53)
- Syncfusion.Maui.ListView (>= 20.4.53)
- Syncfusion.Maui.Scheduler (>= 20.4.53)
- Syncfusion.Maui.Sliders (>= 20.4.53)
- Syncfusion.Maui.TabView (>= 20.4.53)
-
net7.0-maccatalyst16.1
- SharedMauiXamlStylesLibrary (>= 1.1.0)
- Syncfusion.Maui.Charts (>= 20.4.53)
- Syncfusion.Maui.Core (>= 20.4.53)
- Syncfusion.Maui.DataGrid (>= 20.4.53)
- Syncfusion.Maui.Gauges (>= 20.4.53)
- Syncfusion.Maui.Inputs (>= 20.4.53)
- Syncfusion.Maui.ListView (>= 20.4.53)
- Syncfusion.Maui.Scheduler (>= 20.4.53)
- Syncfusion.Maui.Sliders (>= 20.4.53)
- Syncfusion.Maui.TabView (>= 20.4.53)
-
net7.0-windows10.0.19041
- SharedMauiXamlStylesLibrary (>= 1.1.0)
- Syncfusion.Maui.Charts (>= 20.4.53)
- Syncfusion.Maui.Core (>= 20.4.53)
- Syncfusion.Maui.DataGrid (>= 20.4.53)
- Syncfusion.Maui.Gauges (>= 20.4.53)
- Syncfusion.Maui.Inputs (>= 20.4.53)
- Syncfusion.Maui.ListView (>= 20.4.53)
- Syncfusion.Maui.Scheduler (>= 20.4.53)
- Syncfusion.Maui.Sliders (>= 20.4.53)
- Syncfusion.Maui.TabView (>= 20.4.53)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.14 | 210 | 10/21/2024 |
1.2.13.2 | 122 | 9/23/2024 |
1.2.13.1 | 89 | 9/23/2024 |
1.2.13 | 101 | 9/20/2024 |
1.2.12 | 117 | 9/12/2024 |
1.2.11 | 132 | 8/10/2024 |
1.2.10 | 126 | 6/14/2024 |
1.2.9 | 87 | 5/10/2024 |
1.2.8 | 125 | 4/19/2024 |
1.2.7 | 114 | 4/12/2024 |
1.2.6 | 118 | 3/28/2024 |
1.2.5 | 102 | 3/20/2024 |
1.2.4 | 120 | 3/19/2024 |
1.2.3 | 140 | 2/19/2024 |
1.2.3-preview2 | 128 | 1/13/2024 |
1.2.3-preview1 | 103 | 1/7/2024 |
1.2.2 | 185 | 1/4/2024 |
1.2.1 | 180 | 12/6/2023 |
1.2.0 | 167 | 11/14/2023 |
1.1.4 | 238 | 8/5/2023 |
1.1.3 | 165 | 6/25/2023 |
1.1.2 | 152 | 6/24/2023 |
1.1.1 | 265 | 3/19/2023 |
1.1.0 | 247 | 3/8/2023 |
1.1.0-preview2 | 171 | 2/3/2023 |
1.1.0-preview1 | 170 | 2/2/2023 |
1.0.10-preview1 | 149 | 2/2/2023 |
1.0.10-preview | 174 | 1/30/2023 |
Check GitHub releases for changelog.