Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jest BoolToObjectConverter
to konwerter, który umożliwia użytkownikom konwertowanie bool
powiązania wartości na określony obiekt. Podając zarówno obiekt TrueObject, jak i falseObject w konwerterze, odpowiedni obiekt zostanie zwrócony w zależności od wartości powiązania.
Metoda Convert
zwraca TrueObject
wartość , jeśli podana wartość value
jest true
lub w FalseObject
przeciwnym razie.
Metoda zwraca true
wartość , jeśli podana ConvertBack
wartość value
jest równa TrueObject
wartości lub false
w inny sposób.
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
W poniższych przykładach pokazano, jak użyć BoolToObjectConverter
elementu , aby zmienić tło kontrolki Entry
na podstawie określonej wartości powiązanej właściwości IsValid
to true
lub false
.
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 obiektu BoolToObjectConverter
Można BoolToObjectConverter
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.BoolToObjectConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<SolidColorBrush x:Key="TrueColorBrush">Green</SolidColorBrush>
<SolidColorBrush x:Key="FalseColorBrush">Red</SolidColorBrush>
<toolkit:BoolToObjectConverter x:Key="IsValidConverter"
TrueObject="{StaticResource TrueColorBrush}"
FalseObject="{StaticResource FalseColorBrush}"/>
</ResourceDictionary>
</ContentPage.Resources>
<Entry Background="{Binding IsValid, Converter={StaticResource IsValidConverter}}" />
</ContentPage>
C#
Można BoolToObjectConverter
go użyć w następujący sposób w języku C#:
class BoolToObjectConverterPage : ContentPage
{
public BoolToObjectConverterPage()
{
var entry = new Entry();
label.SetBinding(
Label.IsVisibleProperty,
new Binding(
static (ViewModel vm) => vm.IsValid,
converter: new BoolToObjectConverter
{
TrueObject = new SolidColorBrush(Colors.Green),
FalseObject = new SolidColorBrush(Colors.Red)
}));
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 BoolToObjectConverterPage : ContentPage
{
public BoolToObjectConverterPage()
{
Content = new Entry()
.Bind(
Label.BackgroundProperty,
static (ViewModel vm) => vm.IsValid,
converter: new BoolToObjectConverter
{
TrueObject = new SolidColorBrush(Colors.Green),
FalseObject = new SolidColorBrush(Colors.Red)
});
}
}
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 BoolToObjectConverter
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit