MultiTrigger 类

定义

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

public ref class MultiTrigger sealed : Microsoft::Maui::Controls::TriggerBase
[Microsoft.Maui.Controls.ContentProperty("Setters")]
public sealed class MultiTrigger : Microsoft.Maui.Controls.TriggerBase
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
type MultiTrigger = class
    inherit TriggerBase
Public NotInheritable Class MultiTrigger
Inherits TriggerBase
继承
属性

注解

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

下面的 XML 示例在添加到具有正确项目命名空间的 Microsoft.Maui.Controls 应用中时,会创建一个 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)

清除以前为可绑定属性设置的任何值。

(继承自 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)

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

(继承自 BindableObject)

扩展方法

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

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

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

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

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

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

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

创建绑定并将其应用到属性。

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

在源对象上的属性和目标对象的属性之间创建绑定。

适用于

另请参阅