次の方法で共有


CommunityToolkit.Maui.Options

CommunityToolkit.Maui.Options を使用すると、開発者は CommunityToolkit.Maui をカスタマイズできます。 ツールキットの動作は、これらの設定によって異なる場合があります。

Options は、.UseMauiCommunityToolkit() を呼び出す際の起動時に割り当てる必要があります。

var builder = MauiApp.CreateBuilder();
builder.UseMauiCommunityToolkit(options =>
{
    options.SetShouldSuppressExceptionsInConverters(false);
    options.SetShouldSuppressExceptionsInBehaviors(false);
    options.SetShouldSuppressExceptionsInAnimations(false);
})

SetShouldSuppressExceptionsInConverters

true に設定すると、CommunityToolkit.Maui.Converters.BaseConverter を実装するコンバーターが Exception をスローした場合に Exception がキャッチされ、Debug.WriteLine() 経由でログに記録され、事前に定義された既定値が返されます。

既定値は false

このオプションは、.UseMauiCommunityToolkit() を呼び出すと有効になります。

var builder = MauiApp.CreateBuilder();
builder.UseMauiCommunityToolkit(options =>
{
    options.SetShouldSuppressExceptionsInConverters(true);
})

既定の戻り値

true に設定すると、ConverterExceptionをスローした場合に既定値が返されます。

次の 2 つの既定値が含まれています。

  • public object? ICommunityToolkitValueConverter.DefaultConvertReturnValue { get; set; }
    • Default value returned when Convert(object? value, Type targetType, object? parameter, CultureInfo? culture)Exception をスローします
  • public object ICommunityToolkitValueConverter.DefaultConvertBackReturnValue { get; set; }
    • Default value returned when ConvertBack(object? value, Type targetType, object? parameter, CultureInfo? culture)Exception をスローします

BoolToObjectConverter に対する既定値の設定例を次に示します。

XAML

<ContentPage.Resources>
    <SolidColorBrush x:Key="TrueColorBrush">Green</SolidColorBrush>
    <SolidColorBrush x:Key="FalseColorBrush">Red</SolidColorBrush>
    <toolkit:BoolToObjectConverter x:Key="BoolToColorBrushConverter" 
                                TrueObject="{StaticResource TrueColorBrush}" 
                                FalseObject="{StaticResource FalseColorBrush}"
                                DefaultConvertReturnValue="{StaticResource FalseColorBrush}"
                                DefaultConvertBackReturnValue="False"/>
</ContentPage.Resources>

C#

var boolToColorBrushConverter = new BoolToObjectConverter
{
    TrueObject = new SolidColorBrush(Colors.Green),
    FalseObject = new SolidColorBrush(Colors.Red),
    DefaultConvertReturnValue = new SolidColorBrush(Colors.Red),
    DefaultConvertBackReturnValue = false
};

SetShouldSuppressExceptionsInAnimations

true に設定すると、CommunityToolkit.Maui.Behaviors.AnimationBehavior を実装する AnimationException をスローした場合に、Exception がキャッチされ、Debug.WriteLine() 経由でログに記録されます。

既定値は false

このオプションは、.UseMauiCommunityToolkit() を呼び出すと有効になります。

var builder = MauiApp.CreateBuilder();
builder.UseMauiCommunityToolkit(options =>
{
    options.SetShouldSuppressExceptionsInAnimations(true);
})

SetShouldSuppressExceptionsInBehaviors

true に設定すると、CommunityToolkit.Maui.Behaviors.BaseBehavior を実装する BehaviorException をスローした場合に、Exception がキャッチされ、Debug.WriteLine() 経由でログに記録されます。

既定値は false

このオプションは、.UseMauiCommunityToolkit() を呼び出すと有効になります。

var builder = MauiApp.CreateBuilder();
builder.UseMauiCommunityToolkit(options =>
{
    options.SetShouldSuppressExceptionsInBehaviors(true);
})