FuncMultiConverter
FuncMultiConverter
offre la possibilità di definire un'implementazione IMultiValueConverter
inline durante la compilazione dell'interfaccia utente. Un vantaggio aggiuntivo dell'uso dell'implementazione consiste nel FuncMultiConverter
fatto che offre un modo sicuro per eseguire le conversioni. Il pacchetto di markup C# usa internamente l'opzione FuncMultiConverter
per più associazioni nel Bind
metodo di estensione.
Nota
FuncMultiConverter
supporta solo un MultiBinding
, se è necessario Binding
il supporto, fare riferimento a MultiConverter
.
Il convertitore offre molti modi diversi per definire la conversione in base alla quantità di informazioni necessarie.
FuncMultiConverter<TSource1, TSource2, TDest>
L'implementazione FuncMultiConverter<TSource1, TSource2, TDest>
consente di definire un processo di conversione che fornisce valori in ingresso sicuri del tipo e un valore restituito sicuro del tipo. Questa implementazione prevede esattamente 2 valori in ingresso.
Nell'esempio seguente viene illustrato come creare un convertitore che convertirà 2 s in ingresso string
in un punto e virgola separato da 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]);
});
Entrambi i convert
parametri e convertBack
sono facoltativi per consentire agli sviluppatori di definire solo ciò che è necessario.
Nota
FuncMultiConverter
supporta fino a 4 valori in ingresso tipizzati.
FuncMultiConverter<TSource1, TSource2, TDest, TParam>
L'implementazione FuncMultiConverter<TSource1, TSource2, TDest>
consente di definire un processo di conversione che fornisce valori in ingresso sicuri del tipo, un valore restituito indipendente dai tipi e un tipo sicuro ConverterParameter
. Questa implementazione prevede esattamente 2 valori in ingresso.
Nell'esempio seguente viene illustrato come compilare un convertitore che converte 2 s in ingresso string
in un carattere fornito dall'oggetto ConverterParameter
separato 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]);
});
Entrambi i convert
parametri e convertBack
sono facoltativi per consentire agli sviluppatori di definire solo ciò che è necessario.
API
È possibile trovare il codice sorgente per la FuncMultiConverter
funzionalità nel repository GitHub di .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit