SharedMauiXamlStylesLibrary 1.1.0-preview1

This is a prerelease version of SharedMauiXamlStylesLibrary.
There is a newer version of this package available.
See the version list below for details.
dotnet add package SharedMauiXamlStylesLibrary --version 1.1.0-preview1                
NuGet\Install-Package SharedMauiXamlStylesLibrary -Version 1.1.0-preview1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SharedMauiXamlStylesLibrary" Version="1.1.0-preview1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SharedMauiXamlStylesLibrary --version 1.1.0-preview1                
#r "nuget: SharedMauiXamlStylesLibrary, 1.1.0-preview1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SharedMauiXamlStylesLibrary as a Cake Addin
#addin nuget:?package=SharedMauiXamlStylesLibrary&version=1.1.0-preview1&prerelease

// Install SharedMauiXamlStylesLibrary as a Cake Tool
#tool nuget:?package=SharedMauiXamlStylesLibrary&version=1.1.0-preview1&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)

Nugets

Get the latest version from nuget.org<br>

Package Nuget Downloads
SharedMauiXamlStyles NuGet NuGet
SharedMauiXamlStyles.Syncfusion NuGet NuGet

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 291 10/21/2024
1.2.13.2 170 9/23/2024
1.2.13.1 97 9/23/2024
1.2.13 117 9/20/2024
1.2.12 131 9/12/2024
1.2.11 151 8/10/2024
1.2.10 135 6/14/2024
1.2.9 131 5/10/2024
1.2.8 146 4/19/2024
1.2.7 128 4/12/2024
1.2.6 173 3/28/2024
1.2.5 169 3/20/2024
1.2.4 177 3/19/2024
1.2.3 195 2/19/2024
1.2.3-preview2 174 1/13/2024
1.2.3-preview1 174 1/7/2024
1.2.2 239 1/4/2024
1.2.1 271 12/6/2023
1.2.0 191 11/14/2023
1.1.4 400 8/5/2023
1.1.3 315 6/25/2023
1.1.2 278 6/24/2023
1.1.1 431 3/19/2023
1.1.0 375 3/8/2023
1.1.0-preview2 204 2/3/2023
1.1.0-preview1 208 2/2/2023
1.1.0-preview 331 1/30/2023
1.0.10-preview1 223 2/2/2023
1.0.9 437 1/29/2023
1.0.8-preview 276 1/10/2023
1.0.7.1-preview 175 12/29/2022
1.0.7-preview 166 12/29/2022
1.0.6 403 11/29/2022
1.0.5 497 10/5/2022
1.0.4 448 10/3/2022
1.0.1 491 8/15/2022

Check GitHub releases for changelog.