C# WINDOWS MAUI專案 建立增加屬性的按鈕(C# .net maui custom button 新增屬性 example)

C# WINDOWS MAUI專案 建立增加屬性的按鈕(C# .net maui custom button 新增屬性 example)

C# WINDOWS MAUI專案 建立增加屬性的按鈕(C# .net maui custom button 新增屬性 example)


資料來源: ChatGPT


GITHUB: https://github.com/jash-git/MAUI_WinAPI_Object_test/tree/main/Code/05_net7


C# Code

using Microsoft.Maui.Controls;

namespace MAUI_WinAPI_Object_test.CustomControls
{
    public class CustomButton : Button
    {
        // 新增您的自訂屬性
        public static readonly BindableProperty CustomPropertyProperty =
            BindableProperty.Create(nameof(CustomProperty), typeof(string), typeof(CustomButton), string.Empty);
        public string CustomProperty
        {
            get { return (string)GetValue(CustomPropertyProperty); }
            set { SetValue(CustomPropertyProperty, value); }
        }

        public CustomButton()
        {
            // 在此處設置自定義按鈕的外觀和行為
            // 例如,您可以設置背景色、文本顏色、字體大小等等
            BackgroundColor=Color.FromRgb((byte)0, (byte)0, (byte)255);
            TextColor = Color.FromRgb((byte)255, (byte)255, (byte)255);
        }

    }
}


xaml Code

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:MAUI_WinAPI_Object_test.CustomControls"
             x:Class="MAUI_WinAPI_Object_test.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Image
                Source="dotnet_bot.png"
                SemanticProperties.Description="Cute dot net bot waving hi to you!"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Label
                x:Name="labtime"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />

            <Label
                Text="Welcome to .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to dot net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="CounterBtn"
                Text="Click me"
                SemanticProperties.Hint="Counts the number of times you click"
                Clicked="OnCounterClicked"
                HorizontalOptions="Center" />

            <local:CustomButton
                x:Name="PopupBtn"
                Text="Show Popup"
                CustomProperty="這是自訂屬性的值"
                Clicked="PopupBtn_Clicked"
                HorizontalOptions="Center" />
            
            <Button
                x:Name="CloseBtn"
                Text="Close"
                Clicked="CloseBtn_Clicked"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *