728x90
반응형
728x170
■ Binding 태그 확장의 Converter 속성에서 정수↔진리 값 변환자를 사용하는 방법을 보여준다.
▶ IntegerToBooleanConverter.cs
using System.Globalization;
namespace TestProject;
/// <summary>
/// 정수↔진리 값 변환자
/// </summary>
public class IntegerToBooleanConverter : IValueConverter
{
//////////////////////////////////////////////////////////////////////////////////////////////////// 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 (int)sourceValue != 0;
}
#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 (bool)sourceValue ? 1 : 0;
}
#endregion
}
▶ MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="TestProject.MainPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TestProject">
<ContentPage.Resources>
<local:IntegerToBooleanConverter x:Key="IntegerToBooleanConverterKey" />
</ContentPage.Resources>
<StackLayout
HorizontalOptions="Center"
VerticalOptions="Center">
<Entry x:Name="entry1"
HorizontalOptions="Center"
Placeholder="enter search term"
Text="" />
<Button
Margin="0,10,0,0"
HorizontalOptions="Center"
Text="Search"
IsEnabled="{Binding Source={x:Reference entry1},
Path=Text.Length,
Converter={StaticResource IntegerToBooleanConverterKey}}" />
<Entry x:Name="entry2"
Margin="0,10,0,0"
HorizontalOptions="Center"
Placeholder="enter destination"
Text="" />
<Button
Margin="0,10,0,0"
HorizontalOptions="Center"
Text="Submit"
IsEnabled="{Binding Source={x:Reference entry2},
Path=Text.Length,
Converter={StaticResource IntegerToBooleanConverterKey}}" />
</StackLayout>
</ContentPage>
728x90
반응형
그리드형(광고전용)
'C# > MAUI' 카테고리의 다른 글
[C#/MAUI/.NET6] IMultiValueConverter 인터페이스 : 복수 값이 모두 참인 경우 변환자 사용하기 (0) | 2022.03.13 |
---|---|
[C#/MAUI/.NET6] Binding 태그 확장 : TargetNullValue 속성을 사용해 NULL 바인딩시 대체 값 설정하기 (0) | 2022.03.11 |
[C#/MAUI/.NET6] Binding 태그 확장 : FallbackValue 속성을 사용해 바인딩 오류시 대체 값 설정하기 (0) | 2022.03.11 |
[C#/MAUI/.NET6] RelativeSource 태그 확장 : Mode 속성을 사용해 조상 엘리먼트 참조하기 (0) | 2022.03.11 |
[C#/MAUI/.NET6] Binding 클래스 : ConverterParameter 속성 사용하기 (0) | 2022.03.10 |
[C#/MAUI/.NET6] Binding 태그 확장 : Path 속성에서 바인딩 경로 사용하기 (0) | 2022.03.09 |
[C#/MAUI/.NET6] Binding 태그 확장 : StringFormat 속성에서 포맷 문자열 사용하기 (0) | 2022.03.09 |
[C#/MAUI/.NET6] INotifyPropertyChanged 인터페이스 : HSL 색상 뷰 모델 바인딩하기 (0) | 2022.03.09 |
[C#/MAUI/.NET6] 비주얼 트리에서 바인딩 컨텍스트 상속하기 (0) | 2022.03.08 |
[C#/MAUI/.NET6] Binding 엘리먼트 : Source 속성을 사용해 바인딩 설정하기 (0) | 2022.03.08 |
댓글을 달아 주세요