Share via


FuncMultiConverter

FuncMultiConverter UI를 빌드할 때 인라인으로 구현을 IMultiValueConverter 정의하는 기능을 제공합니다. 구현을 FuncMultiConverter 사용할 때의 또 다른 이점은 변환을 수행하는 형식 안전 방법을 제공한다는 것입니다. C# 태그 패키지는 확장 메서드의 FuncMultiConverter여러 바인딩 옵션Bind 대해 내부적으로 사용합니다.

참고 항목

FuncMultiConverter 지원만 지원합니다. 지원은 MultiBinding/ Binding gt;를 참조해야 하는 MultiConverter경우

변환기는 필요한 정보의 양에 따라 변환을 정의하는 다양한 방법을 제공합니다.

FuncMultiConverter<TSource1, TSource2, TDest>

구현 FuncMultiConverter<TSource1, TSource2, TDest> 을 사용하면 형식 안전 들어오는 값과 형식 안전 반환 값을 제공하는 변환 프로세스를 정의할 수 있습니다. 이 구현에는 정확히 2개의 들어오는 값이 예상됩니다.

다음 예제에서는 들어오는 string2개의 s를 세미콜론으로 구분 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 매개 변수가 모두 선택 사항입니다.

참고 항목

FuncMultiConverter 는 최대 4개의 형식화된 들어오는 값을 지원합니다.

FuncMultiConverter<TSource1, TSource2, TDest, TParam>

구현을 FuncMultiConverter<TSource1, TSource2, TDest> 통해 형식 안전 들어오는 값, 형식 안전 반환 값 및 형식 안전 형식을 제공하는 변환 프로세스를 정의할 수 있습니다 ConverterParameter. 이 구현에는 정확히 2개의 들어오는 값이 예상됩니다.

다음 예제에서는 들어오는 string2개의 문자를 구분string된 문자 ConverterParameter 로 변환하는 변환기를 빌드하는 방법을 보여 있습니다.

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

.NET MAUI 커뮤니티 도구 키트 GitHub 리포지토리에서 기능에 대한 FuncMultiConverter 소스 코드를 찾을 수 있습니다.