FuncMultiConverter
FuncMultiConverter
は、UI の構築時に IMultiValueConverter
実装をインラインで定義する機能を提供します。 FuncMultiConverter
実装を使用するもう 1 つの利点は、これは変換を実行するためのタイプ セーフな方法を提供するということです。 C# マークアップ パッケージは、Bind
拡張メソッドの複数のバインディング オプションを提供するために内部的に FuncMultiConverter
を使用します。
Note
FuncMultiConverter
がサポートするのは MultiBinding
だけです。Binding
のサポートが必要な場合は MultiConverter
を参照してください。
このコンバーターには、必要な情報量に基づいて変換を定義するさまざまな方法が用意されています。
FuncMultiConverter<TSource1, TSource2, TDest>
FuncMultiConverter<TSource1, TSource2, TDest>
実装によって、タイプ セーフな入力値とタイプ セーフな戻り値を提供する変換プロセスを定義できます。 この実装では、ちょうど 2 つの入力値を想定しています。
次の例は、2 つの入力 string
をセミコロンで区切られた string
に変換するコンバーターを構築する方法を示しています。
var converter = new FuncMultiConverter<string, string, string>(
convert: ((string First, string Second) lines) => string.Join(';', lines.First, lines.Second),
convertBack: (text) =>
{
var lines = text.Split(';');
return (lines[0], lines[1]);
});
convert
および convertBack
パラメータはどちらも省略可能であり、開発者は必要なものだけを定義できます。
Note
FuncMultiConverter
は、最大 4 つの型指定された入力値をサポートします。
FuncMultiConverter<TSource1, TSource2, TDest, TParam>
FuncMultiConverter<TSource1, TSource2, TDest>
実装によって、タイプ セーフな入力値、タイプ セーフな戻り値、およびタイプ セーフな ConverterParameter
を提供する変換プロセスを定義できます。 この実装では、ちょうど 2 つの入力値を想定しています。
次の例は、2 つの入力 string
を ConverterParameter
によって指定された文字で区切られた string
に変換するコンバーターを構築する方法を示しています。
var converter = new FuncMultiConverter<string, string, string, char>(
convert: ((string First, string Second) lines, char separator) => string.Join(separator, lines.First, lines.Second),
convertBack: (text, char separator) =>
{
var lines = text.Split(separator);
return (lines[0], lines[1]);
});
convert
および convertBack
パラメータはどちらも省略可能であり、開発者は必要なものだけを定義できます。
API
FuncMultiConverter
機能のソース コードは、.NET MAUI Community Toolkit の GitHub リポジトリで確認できます。
.NET MAUI Community Toolkit
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示