Share via


MultiTrigger 类

定义

表示属性和绑定条件列表的类,以及满足列表中所有条件时应用的资源库列表。

[Xamarin.Forms.ContentProperty("Setters")]
public sealed class MultiTrigger : Xamarin.Forms.TriggerBase
type MultiTrigger = class
    inherit TriggerBase
继承
System.Object
MultiTrigger
属性

注解

开发人员可以使用 MultiTrigger 通过 对象来与包含它的 Trigger 控件上的属性值进行比较,或使用 对象对任何绑定属性 (包括封闭控件) BindingCondition 上的属性值进行比较。 可以在同一 Conditions 列表中混合这些内容。

下面的 XML 示例,当添加到 Xamarin 时。Forms具有正确项目命名空间的应用,将创建一个 UI,建议用户键入机密,并在机密正确的情况下切换为检查。 如果用户输入“文本颜色为绿色”,并将 切换到 SwitchOn 位置,则用户键入到 的文本 Entry 将变为绿色。 如果文本更改为机密以外的内容,或者切换切换到其 Off 位置,文本将返回到默认颜色

<?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:PropertyConditionDemo"
             x:Class="PropertyConditionDemo.PropertyConditionDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Do you know the secret?"
               VerticalOptions="Center"
               HorizontalOptions="Center" />
<Entry Placeholder="Type the secret!"
               VerticalOptions="Center"
               HorizontalOptions="Center">
<Entry.Triggers>
<MultiTrigger TargetType="Entry" >
<MultiTrigger.Conditions>
<PropertyCondition Property="Text" Value="The text color is green" />
<BindingCondition Binding="{Binding Source={x:Reference checkSecret},
                                                            Path=IsToggled}"
                                          Value="true" />
</MultiTrigger.Conditions>
<Setter Property="TextColor"
                        Value="Color.Green" />
</MultiTrigger>
</Entry.Triggers>
</Entry>
<Label Text="Check the secret?"
               VerticalOptions="Center"
               HorizontalOptions="Center" />
<Switch x:Name="checkSecret"
                VerticalOptions="Center"
                HorizontalOptions="Center" />
</StackLayout>
</ContentPage>

构造函数

MultiTrigger(Type)

初始化一个新 MultiTrigger 实例。

属性

BindingContext

获取或设置对象,该对象包含将被属于此 BindableObject 的绑定属性设定为目标的属性。

(继承自 BindableObject)
Conditions

获取必须满足的条件列表,以便调用 Setters 列表中的资源库。

Dispatcher

表示属性和绑定条件列表的类,以及满足列表中所有条件时应用的资源库列表。

(继承自 BindableObject)
EnterActions

获取将在满足触发条件时调用的 TriggerAction 对象的列表。 忽略 EventTrigger 类。

(继承自 TriggerBase)
ExitActions

获取在不再满足触发条件时调用的 TriggerAction 对象的列表。 忽略 EventTrigger 类。

(继承自 TriggerBase)
IsSealed

获取一个值,该值指示触发器是否密封。

(继承自 TriggerBase)
Setters

获取在满足 Conditions 属性中的条件列表时将应用的 Setter 对象的列表。

TargetType

TriggerBase 对象可附加到的对象类型。

(继承自 TriggerBase)

方法

ApplyBindings()

将绑定应用到 BindingContext

(继承自 BindableObject)
ClearValue(BindableProperty)

清除由 SetValueproperty 设置的任何值。

(继承自 BindableObject)
ClearValue(BindablePropertyKey)

清除由 SetValuepropertyKey 标识的属性设置的任何值。

(继承自 BindableObject)
CoerceValue(BindableProperty)

表示属性和绑定条件列表的类,以及满足列表中所有条件时应用的资源库列表。

(继承自 BindableObject)
CoerceValue(BindablePropertyKey)

表示属性和绑定条件列表的类,以及满足列表中所有条件时应用的资源库列表。

(继承自 BindableObject)
GetValue(BindableProperty)

返回 BindableProperty 中包含的值。

(继承自 BindableObject)
GetValues(BindableProperty, BindableProperty)
已过时.

供 Xamarin.Forms 平台内部使用。

(继承自 BindableObject)
GetValues(BindableProperty, 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)

扩展方法

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)

表示属性和绑定条件列表的类,以及满足列表中所有条件时应用的资源库列表。

适用于

另请参阅