ColorToColorForTextConverter
Jest ColorToColorForTextConverter
to jeden ze sposobów konwerter, który umożliwia użytkownikom konwertowanie przychodzącego Color
na wartość monochromatyczną albo Colors.White
Colors.Black
na podstawie tego, czy jest określany jako ciemny dla ludzkiego oka.
Metoda Convert
zwraca podaną value
wartość przekonwertowaną na Colors.Black
wartość lub Colors.White
na podstawie tego, czy podana wartość value
jest uważana za ciemną dla ludzkiego oka, czy nie.
Metoda nie jest obsługiwana ConvertBack
.
Właściwości obiektu BaseConverter
Następujące właściwości są implementowane w klasie bazowej: public abstract class BaseConverter
Właściwości | opis |
---|---|
DefaultConvertReturnValue |
Wartość domyślna, która ma być zwracana, gdy IValueConverter.Convert(object?, Type, object?, CultureInfo?) zgłasza wartość Exception . Ta wartość jest używana, gdy właściwość CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters jest ustawiona na true wartość . |
DefaultConvertBackReturnValue |
Wartość domyślna, która ma być zwracana, gdy IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) zgłasza wartość Exception . Ta wartość jest używana, gdy właściwość CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters jest ustawiona na true wartość . |
Właściwości ICommunityToolkitValueConverter
Następujące właściwości są implementowane w pliku public interface ICommunityToolkitValueConverter
:
Właściwość | Type | Opis |
---|---|---|
DefaultConvertReturnValue |
object? |
Wartość domyślna, która ma być zwracana, gdy IValueConverter.Convert(object?, Type, object?, CultureInfo?) zgłasza wartość Exception . Ta wartość jest używana, gdy właściwość CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters jest ustawiona na true wartość . |
DefaultConvertBackReturnValue |
object? |
Wartość domyślna, która ma być zwracana, gdy IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) zgłasza wartość Exception . Ta wartość jest używana, gdy właściwość CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters jest ustawiona na true wartość . |
Składnia
XAML
Dołączanie przestrzeni nazw XAML
Aby można było używać zestawu narzędzi w języku XAML, należy dodać następujące xmlns
elementy do strony lub widoku:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
W związku z tym następujące elementy:
<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>
Zostanie zmodyfikowana tak, aby zawierała następujące xmlns
elementy:
<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>
Korzystanie z elementu ColorToColorForTextConverter
Można ColorToColorForTextConverter
go użyć w następujący sposób w języku 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.ColorToColorForTextConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:ColorToColorForTextConverter x:Key="ColorToColorForTextConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<Label Text="The Text is showing in an optimum color against the background"
TextColor="{Binding Source={RelativeSource AncestorType={x:Type ContentPage}}, Path=BackgroundColor, Converter={StaticResource ColorToColorForTextConverter}}" />
</ContentPage>
C#
Można ColorToColorForTextConverter
go użyć w następujący sposób w języku C#:
class ColorToColorForTextConverterPage : ContentPage
{
public ColorToColorForTextConverterPage()
{
var label = new Label { Text = "The Text is showing in an optimum color against the background" };
label.SetBinding(
Label.TextColorProperty,
new Binding(
static (ContentPage page) => page.BackgroundColor,
converter: new ColorToColorForTextConverter(),
source: this));
Content = label;
}
}
Znaczniki języka C#
Nasz CommunityToolkit.Maui.Markup
pakiet zapewnia znacznie bardziej zwięzły sposób używania tego konwertera w języku C#.
using CommunityToolkit.Maui.Markup;
class ColorToColorForTextConverterPage : ContentPage
{
public ColorToColorForTextConverterPage()
{
Content = new Label { Text = "The Text is showing in an optimum color against the background" }
.Bind(
Label.TextColorProperty,
static (ContentPage page) => page.BackgroundColor,
converter: new ColorToColorForTextConverter(),
source: this);
}
}
Przykłady
Przykład tego konwertera można znaleźć w aplikacji przykładowej zestawu narzędzi .NET MAUI Community Toolkit.
interfejs API
Kod źródłowy można ColorToColorForTextConverter
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit