Sdílet prostřednictvím


ColorToBlackOrWhiteConverter

Jedná ColorToBlackOrWhiteConverter se o jednosměrný převaděč, který umožňuje uživatelům převést příchozí Color na monochromatické hodnoty buď Colors.Black nebo Colors.White.

Metoda Convert vrátí zadanou value převedenou na buď Colors.Black nebo Colors.White na základě toho, zda je zadaná value považována za tmavou nebo ne. A Color se považuje za červenou, zelenou a modrou komponentu každý průměr menší než 127.

Metoda ConvertBack není podporována.

BaseConverter – vlastnosti

V základní třídě jsou implementovány následující vlastnosti: public abstract class BaseConverter

Vlastnost Popis
DefaultConvertReturnValue Výchozí hodnota, která se má vrátit při IValueConverter.Convert(object?, Type, object?, CultureInfo?) vyvolání .Exception Tato hodnota se používá, když Je nastavena možnost trueCommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters .
DefaultConvertBackReturnValue Výchozí hodnota, která se má vrátit při IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) vyvolání .Exception Tato hodnota se používá, když Je nastavena možnost trueCommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters .

ICommunityToolkitValueConverter – vlastnosti

Následující vlastnosti jsou implementovány v public interface ICommunityToolkitValueConverter:

Vlastnost Type Popis
DefaultConvertReturnValue object? Výchozí hodnota, která se má vrátit při IValueConverter.Convert(object?, Type, object?, CultureInfo?) vyvolání .Exception Tato hodnota se používá, když Je nastavena možnost trueCommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters .
DefaultConvertBackReturnValue object? Výchozí hodnota, která se má vrátit při IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) vyvolání .Exception Tato hodnota se používá, když Je nastavena možnost trueCommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters .

Syntaxe

XAML

Zahrnutí oboru názvů XAML

Pokud chcete použít sadu nástrojů v XAML, musíte do stránky nebo zobrazení přidat následující xmlns položky:

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

Proto platí následující:

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

</ContentPage>

Bylo by změněno tak, aby zahrnovalo xmlns následující:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    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">

</ContentPage>

Použití ColorToBlackOrWhiteConverter

V XAML je možné ho ColorToBlackOrWhiteConverter použít následujícím způsobem:

<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.ColorToBlackOrWhiteConverterPage">

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

    <Label Text="The Text is showing in monochrome"
           TextColor="{Binding AppTextColor, Converter={StaticResource ColorToBlackOrWhiteConverter}}" />

</ContentPage>

C#

V ColorToBlackOrWhiteConverter jazyce C# je možné ho použít následujícím způsobem:

class ColorToBlackOrWhiteConverterPage : ContentPage
{
    public ColorToBlackOrWhiteConverterPage()
    {
        var label = new Label { Text = "The Text is showing in monochrome" };

		label.SetBinding(
			Label.TextColorProperty,
			new Binding(
				nameof(ViewModels.AppTextColor),
				converter: new ColorToBlackOrWhiteConverter()));

		Content = label;
    }
}

Revize jazyka C#

Náš CommunityToolkit.Maui.Markup balíček nabízí mnohem stručnější způsob použití tohoto převaděče v jazyce C#.

using CommunityToolkit.Maui.Markup;

class ColorToBlackOrWhiteConverterPage : ContentPage
{
    public ColorToBlackOrWhiteConverterPage()
    {
        Content = new Label { Text = "The Text is showing in monochrome" }
            .Bind(
                Label.TextColorProperty,
                static (ViewModel vm) => vm.AppTextColor,
                converter: new ColorToBlackOrWhiteConverter());
    }
}

Příklady

Příklad tohoto převaděče najdete v akci v ukázkové aplikaci .NET MAUI Community Toolkit.

rozhraní API

Zdrojový kód ColorToBlackOrWhiteConverter najdete v úložišti .NET MAUI Community Toolkit na GitHubu.