Trigger クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
プロパティ条件と、その条件が満たされたときに実行されるアクションを表すクラス。
[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type Trigger = class
inherit TriggerBase
interface IValueProvider
- 継承
- 属性
- 実装
注釈
クラスは Trigger 、追加先のコントロールのプロパティの値を確認するのに適しています。 つまり、既定のバインド コンテキストは、追加先のコントロールです。 親以外のコントロールにバインドするには、代わりに クラスを使用する DataTrigger 必要があります。
次の XML の例では、"テキストの色は赤" というシークレットを入力するようにユーザーに求めます。 ユーザーがシークレットを入力すると、エントリ テキストの色が赤に変わります。 ユーザーがシークレットとは異なるテキストを編集すると、コードは既定の色に戻されます。 この例では、外側のコントロールにトリガーを使用してバインドする方法を示します。
<?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="Tell me the secret"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type the secret here."
VerticalOptions="Center"
HorizontalOptions="Center">
<Entry.Triggers>
<Trigger TargetType="Entry"
Property="Text"
Value="The text color is red">
<Setter Property="TextColor" Value="Red" />
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
次の例は、開発者がトリガーを使用してイベントに応答し、クラスを使用してコントロール プロパティの値を更新する方法を TriggerAction<T> 示しています。 この例では、テキストの色に関する質問に回答するようユーザーに求め、 を呼び出して、ユーザーが 「テキストの色は赤です」と入力すると、テキストを赤に変換するように求 ColorTriggerAction
めます。 開発者は、この例では、ユーザーが文字列の編集を続けるときにテキストを既定の色に戻しませんが、開発者は、その結果を取得するために終了アクションを追加で実装して指定できることに注意してください。
以下の ColorTriggerAction クラスを名前空間で定義します TriggerDemo
。
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
開発者は、次の XAML を使用して、テキスト領域の色を赤に変更することで、シークレット文字列に応答するページを Entry 作成できます。
<?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="What color is "The text"?"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type answer here."
VerticalOptions="Center"
HorizontalOptions="Center"
BackgroundColor="White">
<Entry.Triggers>
<Trigger TargetType="Entry"
Property="Text"
Value="The text is red" >
<Trigger.EnterActions>
<local:ColorTriggerAction />
</Trigger.EnterActions>
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
コンストラクター
Trigger(Type) |
新しい Trigger インスタンスを初期化します。 |
プロパティ
BindingContext |
バインドされたプロパティのうち、この BindableObject に属するプロパティの対象となるプロパティが含まれるオブジェクトを取得または設定します。 (継承元 BindableObject) |
Dispatcher |
プロパティ条件と、その条件が満たされたときに実行されるアクションを表すクラス。 (継承元 BindableObject) |
EnterActions |
トリガー条件が満たされたときに呼び出される TriggerAction オブジェクトの一覧を取得します。 EventTrigger クラスの場合、無視されます。 (継承元 TriggerBase) |
ExitActions |
トリガー条件が満たされなくなった後に呼び出される TriggerAction オブジェクトの一覧を取得します。 EventTrigger クラスの場合、無視されます。 (継承元 TriggerBase) |
IsSealed |
トリガーが封印されているかどうかを示す値を取得します。 (継承元 TriggerBase) |
Property |
セッターを呼び出すタイミングを決定するために Value と比較される値を持つプロパティを取得または設定します。 |
Setters |
Property で指定されたプロパティが Value と等しくなった場合に適用される Setter オブジェクトのリストを取得します。 |
TargetType |
この TriggerBase オブジェクトを添付できるオブジェクトの型。 (継承元 TriggerBase) |
Value |
セッターを適用する、Property プロパティによって指定されたプロパティの値を取得または設定します。 |
メソッド
イベント
BindingContextChanged |
BindingContext プロパティが変更されるたびに発生します。 (継承元 BindableObject) |
PropertyChanged |
プロパティが変更されたときに発生します。 (継承元 BindableObject) |
PropertyChanging |
プロパティが変更されようとしているときに発生します。 (継承元 BindableObject) |
明示的なインターフェイスの実装
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Xamarin.Forms プラットフォームによる内部使用向け。 (継承元 BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Xamarin.Forms プラットフォームによる内部使用向け。 |
拡張メソッド
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
プロパティ条件と、その条件が満たされたときに実行されるアクションを表すクラス。 |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
プロパティ条件と、その条件が満たされたときに実行されるアクションを表すクラス。 |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
プロパティにバインドを作成し、適用します。 |
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
古い.
式からバインドを作成し適用します。 |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
プロパティ条件と、その条件が満たされたときに実行されるアクションを表すクラス。 |