次の方法で共有


DataTrigger クラス

定義

条件が満たされたときに適用される Setter オブジェクトのリストと共に、任意のバインドの条件を表すクラス。

public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Implements IValueProvider
継承
属性
実装

注釈

DataTrigger クラスは、他のコントロールの値や、追加先のコントロールのプロパティをチェックするのに適しています。 つまり、既定のバインディング コンテキストは、追加先のコントロールです。

次の XML の例では、"テキストの色は緑色です" というシークレットを入力するようにユーザーに求めます。 ユーザーが 「The」と入力すると、エントリ テキストの色が赤に変わります。 ユーザーがシークレットを完了すると、[ラベル] テキストが緑色に変わります。 ユーザーがシークレットを編集すると、コードは既定の色に戻されます。 この例では、外側のコントロール (Entry from Entry) とアービタリ コントロール (Label からのエントリ) にバインドする方法を示します。

<?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

セッターを呼び出すタイミングを決定するために Value と比較される値を持つバインドを取得または設定します。

BindingContext

この BindableObjectに属するバインドされたプロパティの対象となるプロパティを含むオブジェクトを取得または設定します。 これはバインド可能なプロパティです。

(継承元 BindableObject)
Dispatcher

このバインド可能なオブジェクトが作成されたときに使用可能だったディスパッチャーを取得します。それ以外の場合は、使用可能な最も近いディスパッチャー (おそらくウィンドウ/アプリ) を検索しようとします。

(継承元 BindableObject)
EnterActions

トリガー条件が満たされたときに呼び出される TriggerAction オブジェクトの一覧を取得します。 EventTrigger クラスの場合、無視されます。

(継承元 TriggerBase)
ExitActions

トリガー条件が満たされなくなった後に呼び出される TriggerAction オブジェクトの一覧を取得します。 EventTrigger クラスの場合、無視されます。

(継承元 TriggerBase)
IsSealed

トリガーが封印されているかどうかを示す値を取得します。

(継承元 TriggerBase)
Setters

Binding プロパティによって名前が付けられたバインドがValueと等しくなるときに適用されるSetter オブジェクトの一覧を取得します。

TargetType

この TriggerBase オブジェクトを添付できるオブジェクトの型。

(継承元 TriggerBase)
Value

セッターを適用する、Binding プロパティによって指定されたバインドの値を取得または設定します。

メソッド

ApplyBindings()

現在のすべてのバインディングを BindingContextに適用します。

(継承元 BindableObject)
ClearValue(BindableProperty)

バインド可能なプロパティに対して以前に設定されたすべての値をクリアします。

(継承元 BindableObject)
ClearValue(BindablePropertyKey)

バインド可能なプロパティに対して以前に設定された値をクリアします。その値は、そのキーで識別されます。

(継承元 BindableObject)
CoerceValue(BindableProperty)

指定したバインド可能なプロパティの値を強制します。 これを行うには、指定したバインド可能なプロパティの BindableProperty.CoerceValueDelegate を呼び出します。

(継承元 BindableObject)
CoerceValue(BindablePropertyKey)

指定したバインド可能なプロパティの値を強制します。 これを行うには、指定したバインド可能なプロパティの BindableProperty.CoerceValueDelegate を呼び出します。

(継承元 BindableObject)
GetValue(BindableProperty)

指定されたバインド可能なプロパティに含まれる値を返します。

(継承元 BindableObject)
IsSet(BindableProperty)

バインド可能なプロパティが存在し、値が設定されているかどうかを判断します。

(継承元 BindableObject)
OnBindingContextChanged()

BindingContextChanged イベントを発生させます。

(継承元 BindableObject)
OnPropertyChanged(String)

PropertyChanged イベントを発生させます。

(継承元 BindableObject)
OnPropertyChanging(String)

PropertyChanging イベントを発生させます。

(継承元 BindableObject)
RemoveBinding(BindableProperty)

バインド可能なプロパティから、以前に設定したバインドを削除します。

(継承元 BindableObject)
SetBinding(BindableProperty, BindingBase)

バインド可能なプロパティにバインドを割り当てます。

(継承元 BindableObject)
SetValue(BindableProperty, Object)

指定したバインド可能なプロパティの値を設定します。

(継承元 BindableObject)
SetValue(BindablePropertyKey, Object)

指定したバインド可能なプロパティの値を設定します。

(継承元 BindableObject)
UnapplyBindings()

現在のコンテキストから現在のすべてのバインドを削除します。

(継承元 BindableObject)

イベント

BindingContextChanged

BindingContext プロパティの値が変化したときに発生します。

(継承元 BindableObject)
PropertyChanged

プロパティ値が変更されたときに発生します。

(継承元 BindableObject)
PropertyChanging

プロパティ値が変更されるときに発生します。

(継承元 BindableObject)

明示的なインターフェイスの実装

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

条件が満たされたときに適用される Setter オブジェクトのリストと共に、任意のバインドの条件を表すクラス。

(継承元 BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

条件が満たされたときに適用される Setter オブジェクトのリストと共に、任意のバインドの条件を表すクラス。

拡張メソッド

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

条件が満たされたときに適用される Setter オブジェクトのリストと共に、任意のバインドの条件を表すクラス。

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

条件が満たされたときに適用される Setter オブジェクトのリストと共に、任意のバインドの条件を表すクラス。

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

条件が満たされたときに適用される Setter オブジェクトのリストと共に、任意のバインドの条件を表すクラス。

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

プロパティにバインドを作成し、適用します。

SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object)

ソース オブジェクトのプロパティとターゲット オブジェクトのプロパティの間にバインディングを作成します。

適用対象