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時,會在擲回 ExceptionConverter傳回預設值。

包含兩個預設值:

  • 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時,如果 Animation 實作 CommunityToolkit.Maui.Behaviors.AnimationBehavior 擲回 ExceptionException 則會攔截 並透過 Debug.WriteLine()記錄 。

預設值為 false

範例

呼叫 時 .UseMauiCommunityToolkit()會啟用此選項:

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

SetShouldSuppressExceptionsInBehaviors

當 設定為 true時,如果 Behavior 實作 CommunityToolkit.Maui.Behaviors.BaseBehavior 擲回 ExceptionException 則會攔截 ,並且會透過 Debug.WriteLine()記錄 。

預設值為 false

範例

呼叫 時 .UseMauiCommunityToolkit()會啟用此選項:

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