Share via


TriggerAction<T> 类

定义

在满足触发条件时所执行的用户定义操作的泛型基类。

public abstract class TriggerAction<T> : Xamarin.Forms.TriggerAction where T : BindableObject
type TriggerAction<'T (requires 'T :> BindableObject)> = class
    inherit TriggerAction

类型参数

T

作用于的类型 Invoke(T)

继承
System.Object
TriggerAction<T>

注解

以下示例演示开发人员如何使用触发器响应事件,并使用类更新控件属性 TriggerAction<T> 的值。 该示例提示用户回答有关文本颜色的问题,然后在用户键入“文本颜色为红色”时调用 ColorTriggerAction 以将文本变为红色。 开发人员应注意,虽然此示例不会在用户继续编辑字符串时将文本更改回默认颜色,但开发人员可以另外实现并指定退出操作以获取该结果。

在 命名空间中 TriggerDemo 定义了下面的 ColorTriggerAction 类:

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 &quot;The text&quot;?"
               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>

构造函数

TriggerAction<T>()

创建 TriggerAction<T> 类的新实例。

属性

AssociatedType

获取 TriggerAction 可与之关联的对象类型。

(继承自 TriggerAction)

方法

Invoke(Object)

应用程序开发者可重写此方法以提供在满足触发条件时所要执行的操作。

Invoke(T)

应用程序开发者可重写此方法以提供在满足触发条件时所要执行的操作。

适用于

另请参阅