ColorToBlackOrWhiteConverter
ColorToBlackOrWhiteConverter
ist ein unidirektionaler Konverter, der es Benutzern ermöglicht, einen eingehenden Color
-Wert in einen monochromen Wert von entweder Colors.Black
oder Colors.White
umzuwandeln.
Die Convert
-Methode gibt den bereitgestellten value
zurück, der entweder in Colors.Black
oder Colors.White
konvertiert wurde, je nachdem, ob der übergebene value
als dunkel angesehen wird oder nicht. Ein Color
wird berücksichtigt, wenn seine roten, grünen und blauen Komponenten jeweils kleiner als 127 sind.
Die Methode ConvertBack
wird nicht unterstützt.
BaseConverter-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse public abstract class BaseConverter
implementiert:
Eigenschaft | Beschreibung |
---|---|
DefaultConvertReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
DefaultConvertBackReturnValue |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
ICommunityToolkitValueConverter-Eigenschaften
Die folgenden Eigenschaften werden im public interface ICommunityToolkitValueConverter
implementiert:
Eigenschaft | Typ | Beschreibung |
---|---|---|
DefaultConvertReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.Convert(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
DefaultConvertBackReturnValue |
object? |
Standardwert, der zurückgegeben werden soll, wenn IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) eine Exception auslöst. Dieser Wert wird verwendet, wenn CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters auf true festgelegt ist. |
Syntax
XAML
Einbinden des XAML-Namespace
Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns
-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Der folgende Abschnitt:
<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>
Würde dann geändert werden, um xmlns
einzubinden:
<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>
Verwenden des ColorToBlackOrWhiteConverter
ColorToBlackOrWhiteConverter
kann wie folgt in XAML verwendet werden:
<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#
ColorToBlackOrWhiteConverter
kann wie folgt in C# verwendet werden:
class ColorToBlackOrWhiteConverterPage : ContentPage
{
public ColorToBlackOrWhiteConverterPage()
{
var label = new Label { Text = "The Text is showing in monochrome" };
label.SetBinding(
Label.TextColorProperty,
new Binding(
static (ViewModel vm) => vm.AppTextColor,
converter: new ColorToBlackOrWhiteConverter()));
Content = label;
}
}
C#-Markup
Das Paket CommunityToolkit.Maui.Markup
bietet eine viel präzisere Möglichkeit, diesen Konverter in C# zu verwenden.
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());
}
}
Beispiele
Ein Beispiel für diesen Konverter in Aktion finden Sie in der Beispielanwendung für das .NET MAUI Community Toolkit.
API
Sie finden den Quellcode für ColorToBlackOrWhiteConverter
über das GitHub-Repository für das .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit