■ IValueConverter 인터페이스를 구현해 진리 값↔객체 변환자를 사용하는 방법을 보여준다.
----------------------------------------------------------------------------------------------------
using System.Globalization;
/// <summary>
/// 진리 값↔객체 변환자
/// </summary>
/// <typeparam name="T">객체 타입</typeparam>
public class BooleanToObjectConverter<T> : IValueConverter
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 참 객체 - TrueObject
/// <summary>
/// 참 객체
/// </summary>
public T TrueObject { get; set; }
#endregion
#region 거짓 객체 - FalseObject
/// <summary>
/// 거짓 객체
/// </summary>
public T FalseObject { get; set; }
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 변환하기 - Convert(sourceValue, targetType, parameter, cultureInfo)
/// <summary>
/// 변환하기
/// </summary>
/// <param name="sourceValue">소스 값</param>
/// <param name="targetType">타겟 타입</param>
/// <param name="parameter">매개 변수</param>
/// <param name="cultureInfo">문화 정보</param>
/// <returns>변환 값</returns>
public object Convert(object sourceValue, Type targetType, object parameter, CultureInfo cultureInfo)
{
return (bool)sourceValue ? TrueObject : FalseObject;
}
#endregion
#region 역변환하기 - ConvertBack(sourceValue, targetType, parameter, cultureInfo)
/// <summary>
/// 역변환하기
/// </summary>
/// <param name="sourceValue">소스 값</param>
/// <param name="targetType">타겟 타입</param>
/// <param name="parameter">매개 변수</param>
/// <param name="cultureInfo">문화 정보</param>
/// <returns>역변환 값</returns>
public object ConvertBack(object sourceValue, Type targetType, object parameter, CultureInfo cultureInfo)
{
return ((T)sourceValue).Equals(TrueObject);
}
#endregion
}
----------------------------------------------------------------------------------------------------
'C# > MAUI' 카테고리의 다른 글
[C#/MAUI/.NET6] MultiBinding 엘리먼트 : StringFormat 속성에서 중괄호({ }) 사용하기 (0) | 2022.06.17 |
---|---|
[C#/MAUI/.NET6] RelativeSource 태그 확장 : Mode 속성을 사용해 자기 자신 참조하기 (0) | 2022.06.17 |
[C#/MAUI/.NET6] RelativeSource 태그 확장 : Mode 속성을 사용해 자기 자신 참조하기 (0) | 2022.06.17 |
[C#/MAUI/.NET6] IValueConverter 인터페이스 : 진리 값 반전 변환자 사용하기 (0) | 2022.06.17 |
[C#/MAUI/.NET6] IValueConverter 인터페이스 : 단정도 실수↔정수 변환자 사용하기 (0) | 2022.06.16 |
[C#/MAUI/.NET6] Binding 엘리먼트 : Converter 속성에서 진리 값↔객체 변환자 사용하기 (0) | 2022.06.16 |
[C#/MAUI/.NET6] Binding 태그 확장 : StringFormat 속성에서 중괄호({ }) 사용하기 (0) | 2022.06.16 |
[C#/MAUI/.NET6] Binding 태그 확장 : StringFormat 속성에서 이중 인용 부호(") 사용하기 (0) | 2022.06.16 |
[C#/MAUI/.NET6] Binding 태그 확장 : StringFormat 속성 사용하기 (0) | 2022.06.16 |
[C#/MAUI/.NET6] 프로젝트 파일에 폰트 파일 추가하기 (0) | 2022.06.15 |
댓글을 달아 주세요