Поделиться через


ColorToHexArgbStringConverter

Это ColorToHexArgbStringConverter преобразователь, позволяющий пользователям преобразовывать привязку значений Color в его шестнадцатеричный string эквивалент ARGB в формате: #alpharedgreenblue где альфа, красный, зеленый и синий будут иметь значение от 0 до FF (например, #FFFF0000 для Colors.Red).

Метод Convert возвращает предоставленный Color value преобразованный в шестнадцатеричный string эквивалент ARGB.

Метод ConvertBack возвращает шестнадцатеричное string value значение ARGB, преобразованное в объект Color.

Синтаксис

В следующих примерах показано, как использовать ColorToHexArgbStringConverter для отображения шестнадцатеричной шестнадцатеричной строки ARGB конкретной Colorстроки.

XAML

Использование ColorToHexArgbStringConverter

Его ColorToHexArgbStringConverter можно использовать следующим образом в XAML:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             x:Class="CommunityToolkit.Maui.Sample.Pages.Converters.ColorToHexArgbStringConverterPage">

    <ContentPage.Resources>
        <ResourceDictionary>
            <toolkit:ColorToHexArgbStringConverter x:Key="ColorToHexArgbStringConverter" />
        </ResourceDictionary>
    </ContentPage.Resources>

    <VerticalStackLayout>
        <Label Text="My favorite color is:" />

        <Label Text="{Binding MyFavoriteColor, Converter={StaticResource ColorToHexArgbStringConverter}}" />
    </VerticalStackLayout>

</ContentPage>

C#

Его ColorToHexArgbStringConverter можно использовать следующим образом в C#:

class ColorToHexArgbStringConverterPage : ContentPage
{
    public ColorToHexArgbStringConverterPage()
    {
        var label = new Label();

        label.SetBinding(
            Label.TextProperty,
            new Binding(
                static (ViewModel vm) => .MyFavoriteColor,
                converter: new ColorToHexArgbStringConverter()));

        Content = new VerticalStackLayout
        {
            Children =
            {
                new Label { Text = "My favorite color is:" },
                label
            }
        };
    }
}

Разметка C#

Наш CommunityToolkit.Maui.Markup пакет предоставляет гораздо более краткий способ использования этого преобразователя в C#.

using CommunityToolkit.Maui.Markup;

class ColorToHexArgbStringConverterPage : ContentPage
{
    public ColorToHexArgbStringConverterPage()
    {
        Content = new VerticalStackLayout
        {
            Children =
            {
                new Label()
                    .Text("My favorite color is:"),
                new Label()
                    .Bind(
                        Label.TextProperty,
                        static (ViewModel vm) => vm.MyFavoriteColor,
                        converter: new ColorToHexArgbStringConverter())
            }
        };
    }
}