افزونه NET MAUI Community Toolkit C# Markup Extensions
نویسنده: فریبرز سیدی
تاریخ: ۱۴۰۱/۰۳/۱۱ ۱۲:۲۸
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
اگر علاقه ای به توسعه برنامه هایی که با Net MAUI. نوشته خواهند شد با استفاده از XAML ندارید به کمک این افزونه میتوانید همان دستورات را به زبان #C بنویسید.
using System;
using CommunityToolkit.Maui.Markup;
using Microsoft.Maui;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;
using static CommunityToolkit.Maui.Markup.GridRowsColumns;
namespace HelloMauiMarkup;
class MainPage : ContentPge
{
public MainPage()
{
BindingContext = new MainViewModel();
Content = new Grid
{
RowSpacing = 25,
ColumnSpacing = 0,
Padding = Device.RuntimePlatform switch
{
Device.iOS => new Thickness(30, 60, 30, 30),
_ => new Thickness(30)
},
RowDefinitions = Rows.Define(
(Row.HelloWorld, 44),
(Row.Welcome, Auto),
(Row.Count, Auto),
(Row.ClickMeButton, Auto),
(Row.Image, Star)),
ColumnDefinitions = Columns.Define(
(Column.Text, Star),
(Column.Number, Star)),
Children =
{
new Label { Text = "Hello World" }
.Row(Row.HelloWorld).ColumnSpan(All<Column>())
.Font(size: 32)
.CenterHorizontal().TextCenter(),
new Label { Text = "Welcome to .NET MAUI Markup Community Toolkit Sample" }
.Row(Row.Welcome).ColumnSpan(All<Column>())
.Font(size: 18)
.CenterHorizontal().TextCenter(),
new Label { Text = "Current Count: " }
.Row(Row.Count).Column(Column.Text)
.Font(bold: true)
.End().TextEnd(),
new Label()
.Row(Row.Count).Column(Column.Number)
.Font(bold: true)
.Start().TextStart()
.Bind<Label, int, string>(Label.TextProperty, nameof(MainViewModel.ClickCount), convert: count => count.ToString())
new Button { Text = "Click Me" }
.Row(Row.ClickMeButton)
.Font(bold: true)
.CenterHorizontal()
.BindCommand(nameof(ViewModel.ClickMeButtonCommand)),
new Image { Source = "dotnet_bot.png", WidthRequest = 250, HeightRequest = 310 }
.Row(Row.Image).ColumnSpan(All<Column>())
.CenterHorizontal()
}
};
}
enum Row { HelloWorld, Welcome, Count, ClickMeButton, Image }
enum Column { Text, Number }
}