BoolToObjectConverter
사용자가 BoolToObjectConverter
값 바인딩을 특정 개체로 bool
변환할 수 있는 변환기입니다. 변환기에서 TrueObject와 FalseObject를 모두 제공하면 바인딩 값에 따라 적절한 개체가 반환됩니다.
메서드는 Convert
제공된 true
value
경우를 반환하거나 그렇지 않은 경우를 FalseObject
반환 TrueObject
합니다.
ConvertBack
제공된 value
값이 같거나 false
다른 경우 메서드가 TrueObject
반환 true
됩니다.
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 경우에 사용됩니다. |
구문
다음 예제에서는 바인딩된 속성MyValue
의 특정 값에 따라 컨트롤의 Label
표시 유형을 변경 하는 방법을 BoolToObjectConverter
보여 줍니다.
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>
BoolToObjectConverter 사용
XAML BoolToObjectConverter
에서 다음과 같이 사용할 수 있습니다.
<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.BoolToObjectConverterPage">
<ContentPage.Resources>
<ResourceDictionary>
<toolkit:BoolToObjectConverter x:Key="BoolToObjectConverter" TrueObject="42" FalseObject="0" />
</ResourceDictionary>
</ContentPage.Resources>
<Label Text="The answer to the Ultimate Question of Life, the Universe and Everything."
IsVisible="{Binding MyValue, Converter={StaticResource BoolToObjectConverter}}" />
</ContentPage>
C#
BoolToObjectConverter
C#에서 다음과 같이 사용할 수 있습니다.
class BoolToObjectConverterPage : ContentPage
{
public BoolToObjectConverterPage()
{
var label = new Label
{
Text = "The answer to the Ultimate Question of Life, the Universe and Everything."
};
label.SetBinding(
Label.IsVisibleProperty,
new Binding(
nameof(ViewModels.MyValue),
converter: new BoolToObjectConverter { TrueObject = 42, FalseObject = 0 }));
Content = label;
}
}
C# 태그
이 CommunityToolkit.Maui.Markup
패키지는 C#에서 이 변환기를 사용하는 훨씬 더 간결한 방법을 제공합니다.
using CommunityToolkit.Maui.Markup;
class BoolToObjectConverterPage : ContentPage
{
public BoolToObjectConverterPage()
{
Content = new Label()
.Text("The answer to the Ultimate Question of Life, the Universe and Everything.")
.Bind(
Label.IsVisibleProperty,
static (ViewModel vm) => vm.MyValue,
converter: new BoolToObjectConverter { TrueObject = 42, FalseObject = 0 });
}
}
예제
.NET MAUI 커뮤니티 도구 키트 샘플 애플리케이션에서 작동 중인 이 변환기의 예를 찾을 수 있습니다.
API
.NET MAUI 커뮤니티 도구 키트 GitHub 리포지토리에서 오버에 대한 BoolToObjectConverter
소스 코드를 찾을 수 있습니다.
.NET MAUI Community Toolkit
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기