다음을 통해 공유


DataTrigger 클래스

정의

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
상속
System.Object
DataTrigger
특성
구현

설명

클래스는 DataTrigger 다른 컨트롤의 값과 추가된 컨트롤의 속성을 확인하는 데 적합합니다. 즉, 기본 바인딩 컨텍스트는 추가된 컨트롤입니다.

아래 XML 예제에서는 "텍스트 색이 녹색"인 비밀을 입력하라는 메시지를 표시합니다. 사용자가 "The"를 입력하면 항목 텍스트의 색이 빨간색으로 변경됩니다. 사용자가 비밀을 완료하면 레이블 텍스트가 녹색으로 바뀝니다. 사용자가 비밀을 편집하면 코드가 기본 색으로 다시 설정됩니다. 이 예제에서는 바깥쪽 컨트롤(항목에서 항목) 및 중재 컨트롤(레이블에서 항목)에 바인딩하는 방법을 보여 줍니다.

<?xml version="1.0" encoding="utf-8"?>
<ContentPage    xmlns="http://xamarin.com/schemas/2014/forms"
                xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                xmlns:local="clr-namespace:TriggerDemo"
                x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Can you tell me the secret?" VerticalOptions="Center" HorizontalOptions="Center">
<Label.Triggers>
<DataTrigger TargetType="Label"
                    Binding="{Binding Source={x:Reference checkEntry},
                                      Path=Text}"
                    Value="The text color is green">
<Setter Property="TextColor" Value="Color.Green" />
</DataTrigger>
</Label.Triggers>
</Label>
<Entry Placeholder="Type the secret here." x:Name="checkEntry" VerticalOptions="Center" HorizontalOptions="Center">
<Entry.Triggers>
<DataTrigger TargetType="Entry"
                    Binding="{Binding Text}"
                    Value="The">
<Setter Property="TextColor" Value="Red" />
</DataTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

생성자

DataTrigger(Type)

DataTrigger 인스턴스를 초기화합니다.

속성

Binding

setter를 호출할 시기를 결정하기 위해 값을 Value와 비교할 바인딩을 가져오거나 설정합니다.

BindingContext

BindableObject에 속하는 바인딩된 속성에 의해 대상으로 지정될 속성을 포함하는 개체를 가져오거나 설정합니다.

(다음에서 상속됨 BindableObject)
Dispatcher

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

(다음에서 상속됨 BindableObject)
EnterActions

트리거 조건이 충족될 때 호출되는 TriggerAction 개체 목록을 가져옵니다. EventTrigger 클래스의 대해서는 무시됩니다.

(다음에서 상속됨 TriggerBase)
ExitActions

트리거 조건이 더 이상 충족되지 않은 후 호출되는 TriggerAction 개체 목록을 가져옵니다. EventTrigger 클래스의 대해서는 무시됩니다.

(다음에서 상속됨 TriggerBase)
IsSealed

트리거가 봉인되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 TriggerBase)
Setters

속성에 의해 Binding 명명된 바인딩이 와 같Value을 때 적용될 개체 목록을 Setter 가져옵니다.

TargetType

TriggerBase 개체를 연결할 수 있는 개체의 형식입니다.

(다음에서 상속됨 TriggerBase)
Value

Binding 속성에 의해 명명된 바인딩의 값을 가져오거나 설정합니다. 이 경우 setter가 적용됩니다.

메서드

ApplyBindings()

바인딩을 BindingContext에 적용합니다.

(다음에서 상속됨 BindableObject)
ClearValue(BindableProperty)

property에 대해 SetValue로 설정된 모든 값을 지웁니다.

(다음에서 상속됨 BindableObject)
ClearValue(BindablePropertyKey)

propertyKey로 식별되는 속성에 대해 SetValue로 설정된 모든 값을 지웁니다.

(다음에서 상속됨 BindableObject)
CoerceValue(BindableProperty)

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

(다음에서 상속됨 BindableObject)
CoerceValue(BindablePropertyKey)

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

(다음에서 상속됨 BindableObject)
GetValue(BindableProperty)

BindableProperty에 포함되는 값을 반환합니다.

(다음에서 상속됨 BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
사용되지 않음.

Xamarin.Forms 플랫폼에서 내부용으로 사용합니다.

(다음에서 상속됨 BindableObject)
GetValues(BindableProperty, BindableProperty)
사용되지 않음.

Xamarin.Forms 플랫폼에서 내부용으로 사용합니다.

(다음에서 상속됨 BindableObject)
IsSet(BindableProperty)

대상 속성이 있고 설정된 경우 true를 반환합니다.

(다음에서 상속됨 BindableObject)
OnBindingContextChanged()

BindingContext가 변경될 때 작업을 실행하려면 이 메서드를 재정의합니다.

(다음에서 상속됨 BindableObject)
OnPropertyChanged(String)

자식 클래스에서 이 메서드를 호출하여 속성이 변경되었음을 알립니다.

(다음에서 상속됨 BindableObject)
OnPropertyChanging(String)

자식 클래스에서 이 메서드를 호출하여 속성이 변경되었음을 알립니다.

(다음에서 상속됨 BindableObject)
RemoveBinding(BindableProperty)

이전 바인딩 설정을 제거합니다.

(다음에서 상속됨 BindableObject)
SetBinding(BindableProperty, BindingBase)

속성에 바인딩을 할당합니다.

(다음에서 상속됨 BindableObject)
SetValue(BindableProperty, Object)

지정한 속성의 값을 설정합니다.

(다음에서 상속됨 BindableObject)
SetValue(BindablePropertyKey, Object)

propertyKey의 값을 설정합니다.

(다음에서 상속됨 BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Xamarin.Forms 플랫폼에서 내부용으로 사용합니다.

(다음에서 상속됨 BindableObject)
UnapplyBindings()

이전 모든 바인딩 설정을 적용 해제합니다.

(다음에서 상속됨 BindableObject)

이벤트

BindingContextChanged

BindingContext 속성이 변경될 때마다 발생됩니다.

(다음에서 상속됨 BindableObject)
PropertyChanged

속성이 변경된 경우 발생됩니다.

(다음에서 상속됨 BindableObject)
PropertyChanging

속성이 변경되려고 할 때 발생됩니다.

(다음에서 상속됨 BindableObject)

명시적 인터페이스 구현

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Xamarin.Forms 플랫폼에서 내부용으로 사용합니다.

(다음에서 상속됨 BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

XAML 인프라에서 내부용으로 사용합니다.

확장 메서드

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

속성에 바인딩을 만들고 적용합니다.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
사용되지 않음.

식에서 바인딩을 만들고 적용합니다.

SetOnAppTheme<T>(BindableObject, BindableProperty, T, T)

조건이 충족될 때 적용되는 Setter 개체의 목록과 함께 임의 바인딩의 조건을 나타내는 클래스입니다.

적용 대상