CompareConverter
들어오는 CompareConverter
값을 구현하고, 지정된 값과 비교하고, 비교 결과를 반환하는 IComparable
단방향 변환기입니다. 결과는 기본적으로 bool
개체가 및/또는 FalseObject
속성을 통해 TrueObject
지정되지 않은 경우로 설정됩니다. 값이 및/또는 FalseObject
속성에 TrueObject
할당된 경우 CompareConverter는 할당된 각 개체를 반환합니다.
참고 항목
둘 다 정의되거나 FalseObject
둘 다 TrueObject
값 이 정의되어 있어야 합니다.
이 ConvertBack
메서드는 지원되지 않습니다.
BaseConverter 속성
다음 속성은 기본 클래스 public abstract class BaseConverter
에서 구현됩니다.
속성 | 설명 |
---|---|
DefaultConvertReturnValue |
을 throw할 때 IValueConverter.Convert(object?, Type, object?, CultureInfo?) 반환할 기본값입니다 Exception . 이 값은 CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters 가 로 설정된 true 경우에 사용됩니다. |
DefaultConvertBackReturnValue |
을 throw할 때 IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) 반환할 기본값입니다 Exception . 이 값은 CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters 가 로 설정된 true 경우에 사용됩니다. |
ICommunityToolkitValueConverter 속성
다음 속성은 다음에서 구현됩니다.public interface ICommunityToolkitValueConverter
속성 | Type | 설명 |
---|---|---|
DefaultConvertReturnValue |
object? |
을 throw할 때 IValueConverter.Convert(object?, Type, object?, CultureInfo?) 반환할 기본값입니다 Exception . 이 값은 CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters 가 로 설정된 true 경우에 사용됩니다. |
DefaultConvertBackReturnValue |
object? |
을 throw할 때 IValueConverter.ConvertBack(object?, Type, object?, CultureInfo?) 반환할 기본값입니다 Exception . 이 값은 CommunityToolkit.Maui.Options.ShouldSuppressExceptionsInConverters 가 로 설정된 true 경우에 사용됩니다. |
구문
XAML
XAML 네임스페이스 포함
XAML에서 도구 키트를 사용하려면 페이지 또는 보기에 다음 xmlns
을 추가해야 합니다.
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
따라서 다음을 수행합니다.
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
다음과 같이 포함 xmlns
하도록 수정됩니다.
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
CompareConverter 사용
XAML CompareConverter
에서 다음과 같이 사용할 수 있습니다.
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="CommunityToolkit.Maui.Sample.Pages.Converters.CompareConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:CompareConverter
x:Key="CompareConverter"
ComparisonOperator="Smaller"
ComparingValue="50"
TrueObject="LightGreen"
FalseObject="PaleVioletRed" />
</ResourceDictionary>
</ContentPage.Resources>
<Label
Text="The background of this label will be green if the value entered is less than 50, and red otherwise."
BackgroundColor="{Binding MyValue, Converter={StaticResource CompareConverter}" />
</ContentPage>
C#
CompareConverter
C#에서 다음과 같이 사용할 수 있습니다.
class CompareConverterPage : ContentPage
{
public CompareConverterPage()
{
var label = new Label
{
Text = "The background of this label will be green if the value entered is less than 50, and red otherwise."
};
label.SetBinding(
Label.BackgroundColorProperty,
new Binding(
nameof(ViewModel.MyValue),
converter: new CompareConverter
{
ComparisonOperator = OperatorType.Smaller,
ComparingValue = 50,
TrueObject = Colors.LightGreen,
FalseObject = Colors.PaleVioletRed
}));
Content = label;
}
}
C# 태그
이 CommunityToolkit.Maui.Markup
패키지는 C#에서 이 변환기를 사용하는 훨씬 더 간결한 방법을 제공합니다.
using CommunityToolkit.Maui.Markup;
class CompareConverterPage : ContentPage
{
public CompareConverterPage()
{
Content = new Label()
.Text("The background of this label will be green if the value entered is less than 50, and red otherwise.")
.Bind(
Label.BackgroundColorProperty,
static (ViewModel vm) => vm.MyValue,
converter: new CompareConverter
{
ComparisonOperator = OperatorType.Smaller,
ComparingValue = 50,
TrueObject = Colors.LightGreen,
FalseObject = Colors.PaleVioletRed
});
}
}
속성
속성 | Type | 설명 |
---|---|---|
ComparisonOperator | OperatorType |
값에 적용할 대/소문자 string 형식입니다. |
ComparingValue | IComparable |
비교할 값입니다. |
FalseObject | object |
비교 결과가 비교되는 경우 반환할 결과입니다 false . |
TrueObject | object |
비교 결과가 비교되는 경우 반환할 결과입니다 true . |
TextCaseType
OperatorType
열거형은 다음 멤버를 정의합니다.
NotEqual
Smaller
SmallerOrEqual
Equal
Greater
GreaterOrEqual
예제
.NET MAUI 커뮤니티 도구 키트 샘플 애플리케이션에서 작동 중인 이 변환기의 예를 찾을 수 있습니다.
API
.NET MAUI 커뮤니티 도구 키트 GitHub 리포지토리에서 오버에 대한 CompareConverter
소스 코드를 찾을 수 있습니다.
.NET MAUI Community Toolkit
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기