FmgLib.MauiMarkup 8.0.14

There is a newer version of this package available.
See the version list below for details.
dotnet add package FmgLib.MauiMarkup --version 8.0.14
NuGet\Install-Package FmgLib.MauiMarkup -Version 8.0.14
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="FmgLib.MauiMarkup" Version="8.0.14" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FmgLib.MauiMarkup --version 8.0.14
#r "nuget: FmgLib.MauiMarkup, 8.0.14"
#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 FmgLib.MauiMarkup as a Cake Addin
#addin nuget:?package=FmgLib.MauiMarkup&version=8.0.14

// Install FmgLib.MauiMarkup as a Cake Tool
#tool nuget:?package=FmgLib.MauiMarkup&version=8.0.14

FmgLib.MauiMarkup with C# Markup classes and fluent helper methods

using Microsoft.Maui.Layouts;
using FmgLib.MauiMarkup;

namespace MyOrderApp.Views;

public partial class HomePage : BasePage<HomePageViewModel>
{
    public HomePage(HomePageViewModel viewModel) : base(viewModel, "Home Page")
    {
    }

    public override void Build()
    {
        this
        .ContentFmg(
            new VerticalStackLayout()
            .PaddingFmg(10)
            .ChildrenFmg(
                new SearchBar()
                .PlaceholderFmg("Ürünlerde Ara.")
                .MarginFmg(10)
                .AssignFmg(out var search)
                .SearchCommandFmg(BindingContext.SearchCommand)
                .BindFmg(SearchBar.SearchCommandParameterProperty, "Text", source: search),

                new Frame()
                .CornerRadiusFmg(15)
                .BackgroundColorFmg(Colors.Blue)
                .BorderColorFmg(Colors.Blue)
                .HeightRequestFmg(150)
                .MarginFmg(new Thickness(15,7))
                .PaddingFmg(0)
                .ContentFmg(
                    new Grid()
                    .ColumnDefinitionsFmg(e => e.Star(5).Star(5))
                    .RowDefinitionsFmg(e => e.Star(5).Star(5))
                    .ChildrenFmg(
                        new Frame()
                        .RowFmg(0)
                        .ColumnFmg(0)
                        .MarginFmg(new Thickness(0,20,0,0))
                        .PaddingFmg(0)
                        .CornerRadiusFmg(0)
                        .BackgroundColorFmg(Colors.DarkBlue)
                        .BorderColorFmg(Colors.DarkBlue)
                        .ContentFmg(
                            new Label()
                            .TextFmg("%50 İndirim")
                            .TextColorFmg(Colors.White)
                            .FontAttributesFmg(FontAttributes.Bold)
                            .FontSizeFmg(20)
                            .CenterFmg()
                        ),

                        new Label()
                        .TextFmg("Tüm Unlu Mamüllerde her gün saat 21:00'dan sonra!")
                        .FontSizeFmg(12)
                        .RowFmg(1)
                        .ColumnFmg(0)
                        .TextColorFmg(Colors.White)
                        .FontAttributesFmg(FontAttributes.Italic)
                        .MarginFmg(new Thickness(10,3,0,0)),

                        new Image()
                        .SourceFmg("white_bread.png")
                        .RowFmg(0)
                        .ColumnFmg(1)
                        .RowSpanFmg(2)
                        .SizeRequestFmg(150,100)
                        .OpacityFmg(.8)
                    )
                ),

                new Grid()
                .ColumnDefinitionsFmg(e => e.Star(7).Star(3))
                .FillHorizontalFmg()
                .PaddingFmg(10)
                .ChildrenFmg(
                    new Label()
                    .TextFmg("Son Ürünler")
                    .FontAttributesFmg(FontAttributes.Bold)
                    .FontSizeFmg(18)
                    .CenterVerticalFmg()
                    .ColumnFmg(0)
                    .AlignStartFmg(),


                    new Label()
                    .TextFmg("Tümünü Gör")
                    .FontSizeFmg(15)
                    .CenterVerticalFmg()
                    .ColumnFmg(1)
                    .AlignEndFmg()
                    .TextDecorationsFmg(TextDecorations.Underline)
                    .GestureRecognizersFmg(
                        new TapGestureRecognizer()
                        .CommandFmg(BindingContext.GotoAllProductsCommand)
                    )
                ),

                new CollectionView()
                .SelectionModeFmg(SelectionMode.None)
                .BindFmg(CollectionView.ItemsSourceProperty, "Products")
                .ItemsLayoutFmg(new LinearItemsLayout(ItemsLayoutOrientation.Horizontal).ItemSpacingFmg(10))
                .EmptyViewFmg(
                    new VerticalStackLayout()
                    .ChildrenFmg(
                        new Label()
                        .TextFmg("Kayıt Yoktur.")
                        .TextColorFmg(Colors.Red)
                        .FontAttributesFmg(FontAttributes.Bold)
                        .FontSizeFmg(18)
                    )
                    .CenterFmg()
                )
                .ItemTemplateFmg(() =>
                    new Frame()
                    .CornerRadiusFmg(15)
                    .BorderColorFmg(Colors.LightGray)
                    .BackgroundColorFmg(Colors.LightGray)
                    .MinimumHeightRequestFmg(200)
                    .MaximumWidthRequestFmg(200)
                    .PaddingFmg(5)
                    .ContentFmg(
                        new Grid()
                        .RowDefinitionsFmg(e => e.Star(1).Star(6).Star(2).Star(1))
                        .PaddingFmg(5)
                        .ChildrenFmg(
                            new Grid()
                            .RowFmg(0)
                            .ColumnDefinitionsFmg(e => e.Star(6).Star(4))
                            .ChildrenFmg(
                                new ImageButton()
                                .BindFmg(ImageButton.SourceProperty, nameof(ProductVM.IsFavorite), converter: new BoolToFavoriteImageConverter())
                                .BackgroundColorFmg(Colors.Transparent)
                                .AlignStartFmg()
                                .SizeRequestFmg(30, 30)
                                .CommandFmg(BindingContext.ChangeFavoriteCommand)
                                .BindFmg(ImageButton.CommandParameterProperty, "."),

                                new Frame()
                                .CornerRadiusFmg(20)
                                .HeightRequestFmg(25)
                                .WidthRequestFmg(50)
                                .PaddingFmg(0)
                                .BackgroundColorFmg(Colors.Red)
                                .BorderColorFmg(Colors.Red)
                                .ColumnFmg(1)
                                .BindFmg(Microsoft.Maui.Controls.Frame.IsVisibleProperty, nameof(ProductVM.IsDiscount))
                                .ContentFmg(
                                    new Label()
                                    .BindFmg(Label.TextProperty, nameof(ProductVM.DiscountRate))
                                    .FontSizeFmg(11)
                                    .FontAttributesFmg(FontAttributes.Bold)
                                    .TextColorFmg(Colors.White)
                                    .CenterFmg()
                                )
                            ),

                            new Image()
                            .BindFmg(Image.SourceProperty, nameof(ProductVM.Image))
                            .SizeRequestFmg(80,80)
                            .RowFmg(1)
                            .CenterHorizontalFmg(),

                            new VerticalStackLayout()
                            .RowFmg(2)
                            .ChildrenFmg(
                                new Label()
                                .BindFmg(Label.TextProperty, nameof(ProductVM.Name))
                                .FontAttributesFmg(FontAttributes.Bold)
                                .FontSizeFmg(11)
                                .AlignStartFmg()
                                .LineBreakModeFmg(LineBreakMode.TailTruncation)
                                .FontAutoScalingEnabledFmg(true),

                                new HorizontalStackLayout()
                                .SpacingFmg(2)
                                .ChildrenFmg(
                                    new Label()
                                    .BindFmg(Label.TextProperty, nameof(ProductVM.Price))
                                    .BindFmg(Label.TextDecorationsProperty, nameof(ProductVM.IsDiscount), converter: new BoolToTextDecorationConverter())
                                    .BindFmg(Label.FontSizeProperty, nameof(ProductVM.IsDiscount), converter: new BoolToFontSizeConverter())
                                    .FontAttributesFmg(FontAttributes.Bold)
                                    .CenterVerticalFmg(),

                                    new Label()
                                    .TextColorFmg(Colors.Red)
                                    .FontAttributesFmg(FontAttributes.Bold)
                                    .CenterVerticalFmg()
                                    .BindFmg(Label.IsVisibleProperty, nameof(ProductVM.IsDiscount))
                                    .BindFmg(Label.TextProperty, nameof(ProductVM.DiscountPrice)),

                                    new Label()
                                    .TextFmg("/")
                                    .FontSizeFmg(10)
                                    .CenterVerticalFmg()
                                    .TextColorFmg(Colors.DarkSlateGray),

                                    new Label()
                                    .FontSizeFmg(10)
                                    .CenterVerticalFmg()
                                    .TextColorFmg(Colors.DarkSlateGray)
                                    .BindFmg(Label.TextProperty, nameof(ProductVM.Unit))
                                )
                            ),

                            new Button()
                            .RowFmg(3)
                            .MarginFmg(new Thickness(0,5,0,0))
                            .PaddingFmg(0)
                            .TextFmg("Sepete Ekle")
                            .BackgroundColorFmg(Colors.Green)
                            .FontSizeFmg(12)
                            .FontAttributesFmg(FontAttributes.Bold)
                            .CenterHorizontalFmg()
                            .HeightRequestFmg(35)
                            .WidthRequestFmg(100)
                            .CommandFmg(BindingContext.AddProductBasketCommand)
                            .BindFmg(Button.CommandParameterProperty, ".")
                        )
                    )
                ),

                new Grid()
                .ColumnDefinitionsFmg(e => e.Star(7).Star(3))
                .FillHorizontalFmg()
                .PaddingFmg(10)
                .ChildrenFmg(
                    new Label()
                    .TextFmg("Kategoriler")
                    .FontAttributesFmg(FontAttributes.Bold)
                    .FontSizeFmg(18)
                    .CenterVerticalFmg()
                    .ColumnFmg(0)
                    .AlignStartFmg(),


                    new Label()
                    .TextFmg("Tümünü Gör")
                    .FontSizeFmg(15)
                    .CenterVerticalFmg()
                    .ColumnFmg(1)
                    .AlignEndFmg()
                    .TextDecorationsFmg(TextDecorations.Underline)
                    .GestureRecognizersFmg(
                        new TapGestureRecognizer()
                        .CommandFmg(BindingContext.GotoAllCategoriesCommand)
                    )
                ),

                new FlexLayout()
                .ItemsSourcesFmg(BindingContext.Categories)
                .AssignFmg(out var flex)
                .WrapFmg(FlexWrap.Wrap)
                .FlexBasisFmg(FlexBasis.Auto)
                .ItemTemplatesFmg(new DataTemplate(() => 
                    new Frame()
                    .CornerRadiusFmg(15)
                    .BorderColorFmg(Colors.LightGray)
                    .BackgroundColorFmg(Colors.LightGray)
                    .MinimumHeightRequestFmg(30)
                    .WidthRequestFmg(180)
                    .PaddingFmg(0)
                    .MarginFmg(new Thickness(1,0,5,5))
                    .FlexBasisFmg(FlexBasis.Auto)
                    .ContentFmg(
                        new Grid()
                        .ColumnDefinitionsFmg(e => e.Star(3).Star(7))
                        .PaddingFmg(5)
                        .ChildrenFmg(
                            new Image()
                            .BindFmg(Image.SourceProperty, nameof(SubCategoryVM.Icon))
                            .SizeRequestFmg(30,30)
                            .ColumnFmg(0)
                            .CenterVerticalFmg(),

                            new Label()
                            .BindFmg(Label.TextProperty, nameof(SubCategoryVM.Name))
                            .TextColorFmg(Colors.CornflowerBlue)
                            .FontAttributesFmg(FontAttributes.Bold)
                            .FontSizeFmg(12)
                            .ColumnFmg(1)
                            .FontAutoScalingEnabledFmg(true)
                            .CenterVerticalFmg()
                        )
                    )
                ))
            )
            .FillHorizontalFmg()
        );
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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

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
8.1.0 76 4/17/2024
8.1.0-prev1.0.0 46 4/16/2024
8.0.20-prev1.0.2 47 4/15/2024
8.0.20-prev1.0.1 61 4/15/2024
8.0.20-prev1.0.0 67 4/15/2024
8.0.14 141 3/23/2024
8.0.7 199 2/23/2024
8.0.6.3 243 2/6/2024
8.0.6.2 272 1/25/2024
8.0.6.1 241 1/19/2024
8.0.6 299 1/19/2024
8.0.3.1 253 1/19/2024
8.0.3 263 1/19/2024
8.0.0 269 1/19/2024