次の方法で共有


DoubleToIntConverter

DoubleToIntConverter は、ユーザーが受け取った double 値を int に、またはその逆に変換できるコンバーターです。 必要に応じて、ユーザーは Ratio プロパティを介して変換に乗数を指定できます。

Convert メソッドは、指定された valueint に変換し、比率を乗算して返します。

ConvertBack メソッドは、指定された valuedouble に変換し、比率で除算して返します。

Note

比率は次の方法で指定できることに注意してください。

  1. コンバーター バインディングの ConverterParameter として
  2. コンバーターの Ratio プロパティとして。

ConverterParameter オプションは Ratio プロパティよりも優先されることに注意してください。

BaseConverter のプロパティ

基底クラス public abstract class BaseConverter には、次のプロパティが実装されています。

プロパティ 説明
DefaultConvertReturnValue IValueConverter.Convert(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。
DefaultConvertBackReturnValue IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。

ICommunityToolkitValueConverter のプロパティ

public interface ICommunityToolkitValueConverter には次のプロパティが実装されています。

プロパティ タイプ 説明
DefaultConvertReturnValue object? IValueConverter.Convert(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。
DefaultConvertBackReturnValue object? IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?)Exception をスローしたときに返される既定値です。 この値は、CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverterstrue に設定されている場合に使用されます。

構文

XAML

XAML 名前空間を含める

XAML でこのツールキットを使用するには、次の xmlns をページまたはビューに追加する必要があります。

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

したがって、以下のコードは、

<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>

次のように、xmlns を含むように変更されます。

<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>

DoubleToIntConverter の使用

DoubleToIntConverter は、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.DoubleToIntConverterPage">

    <ContentPage.Resources>
        <ResourceDictionary>
            <toolkit:DoubleToIntConverter x:Key="DoubleToIntConverter" />
        </ResourceDictionary>
    </ContentPage.Resources>

    <Label Text="{Binding MyValue, Converter={StaticResource DoubleToIntConverter}}" />

</ContentPage>

C#

DoubleToIntConverter は、C# では次のように使用できます。

class DoubleToIntConverterPage : ContentPage
{
    public DoubleToIntConverterPage()
    {
        var label = new Label();

        label.SetBinding(
            Label.TextProperty,
            new Binding(
                static (ViewModel vm) => vm.MyValue,
                converter: new DoubleToIntConverter()));

        Content = label;
    }
}

C# Markup

この CommunityToolkit.Maui.Markup パッケージを使うと、より簡潔な方法でこのコンバーターを C# で使用できます。

using CommunityToolkit.Maui.Markup;

class DoubleToIntConverterPage : ContentPage
{
    public DoubleToIntConverterPage()
    {
        Content = new Label()
            .Bind(
                Label.TextProperty,
                static (ViewModel vm) => vm.MyValue,
                converter: new DoubleToIntConverter());
    }
}

Properties

プロパティ タイプ 説明
比率 int 変換中に適用する乗数。

このコンバーターの動作の例は、.NET MAUI Community Toolkit サンプル アプリケーションで確認できます。

API

DoubleToIntConverter のソース コードは、.NET MAUI Community Toolkit の GitHub リポジトリにあります。