FuncConverter
FuncConverter
UI를 빌드할 때 인라인으로 구현을 IValueConverter
정의하는 기능을 제공합니다. 구현을 FuncConverter
사용할 때의 또 다른 이점은 변환을 수행하는 형식 안전 방법을 제공한다는 것입니다. C# 태그 패키지는 확장 메서드의 FuncConverter
인라인 변환 옵션 에 Bind
내부적으로 사용합니다.
참고 항목
FuncConverter
지원이 필요한 MultiBinding
경우 단일 Binding
값만 지원FuncMultiConverter
합니다.
변환기는 필요한 정보의 양에 따라 변환을 정의하는 다양한 방법을 제공합니다.
FuncConverter<TSource>
구현 FuncConverter<TSource>
을 사용하면 들어오는 값이 안전한 형식만 제공하는 변환 프로세스를 정의할 수 있습니다.
다음 예제에서는 초 단위 TimeSpan
로 표현된 변환기와 변환기를 빌드하는 double
방법을 보여줍니다.
var converter = new FuncConverter<TimeSpan>(
convert: (time) => time.TotalSeconds,
convertBack: (value) => TimeSpan.FromSeconds((double)value));
개발자가 convert
필요한 항목만 정의할 수 있도록 하려면 매개 변수와 convertBack
매개 변수가 모두 선택 사항입니다.
여기서는 메서드가 형식이 convertBack
안전하지 않은 것으로 표시되지 않습니다.
FuncConverter<TSource, TDest>
구현 FuncConverter<TSource, TDest>
을 사용하면 형식에 안전한 들어오는 값과 형식 안전 반환 값을 제공하는 변환 프로세스를 정의할 수 있습니다.
위와 동일한 예제를 사용하여 구현 형식을 convertBack
안전하고 읽기 쉽게 만들 수 있습니다.
var converter = new FuncConverter<TimeSpan, double>(
convert: (time) => time.TotalSeconds,
convertBack: (seconds) => TimeSpan.FromSeconds(seconds));
개발자가 convert
필요한 항목만 정의할 수 있도록 하려면 매개 변수와 convertBack
매개 변수가 모두 선택 사항입니다.
FuncConverter<TSource, TDest, TParam>
이 FuncConverter<TSource, TDest, TParam>
구현을 통해 형식 안전 들어오는 값, 형식 안전 반환 값 및 형식 안전 형식을 제공하는 변환 프로세스를 정의할 수 있습니다 ConverterParameter
.
위와 동일한 예제를 사용하여 다음을 Binding
포함할 ConverterParameter
수 있습니다.
var converter = new FuncConverter<TimeSpan, double, int>(
convert: (time, offset) => time.TotalSeconds + offset,
convertBack: (seconds, offset) => TimeSpan.FromSeconds(seconds - offset));
개발자가 convert
필요한 항목만 정의할 수 있도록 하려면 매개 변수와 convertBack
매개 변수가 모두 선택 사항입니다.
API
.NET MAUI 커뮤니티 도구 키트 GitHub 리포지토리에서 기능에 대한 FuncConverter
소스 코드를 찾을 수 있습니다.
.NET MAUI Community Toolkit
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기