Share via


MultiTrigger 類別

定義

此類別代表屬性和繫結條件的清單,以及清單中所有條件皆已滿足時所套用的 Setter 清單。

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
繼承
屬性

備註

開發人員可以使用 MultiTrigger 來比較包含 Trigger 物件的控件上的屬性值,或使用 物件在包含它的任何系結屬性 (包括封入控件上的屬性值) BindingCondition 。 這些可以混合在相同的 Conditions 清單中。

下列 XML 範例新增至具有正確專案命名空間的 Microsoft.Maui.Controls 應用程式時,會建立 UI 來建議使用者輸入秘密,並切換參數來檢查秘密是否正確。 如果使用者輸入「文字色彩為綠色」,並將 切換 Switch 為其 On 位置,則使用者輸入 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 清單中的 Setter。

Dispatcher

取得建立這個可系結物件時可用的發送器,否則會嘗試尋找最接近的可用發送器, (可能是視窗/應用程式的) 。

(繼承來源 BindableObject)
EnterActions

取得符合觸發條件時要叫用的 TriggerAction 物件清單。 若為 EventTrigger 類別請予以略過。

(繼承來源 TriggerBase)
ExitActions

取得觸發條件不再符合之後要叫用的 TriggerAction 物件清單。 若為 EventTrigger 類別請予以略過。

(繼承來源 TriggerBase)
IsSealed

取得值,指出是否密封觸發程序。

(繼承來源 TriggerBase)
Setters

取得 Setter 物件的清單,當 Conditions 屬性中的條件清單皆已满足時,便會套用這些物件。

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)
SetValueCore(BindableProperty, Object, SetValueFlags)

供 Microsoft.Maui.Controls 平台內部使用。

(繼承來源 BindableObject)
UnapplyBindings()

從目前內容中移除所有目前的系結。

(繼承來源 BindableObject)

事件

BindingContextChanged

發生於 BindingContext 屬性的值變更時。

(繼承來源 BindableObject)
PropertyChanged

當屬性值變更時發生。

(繼承來源 BindableObject)
PropertyChanging

當屬性值變更中時發生。

(繼承來源 BindableObject)

明確介面實作

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

此類別代表屬性和繫結條件的清單,以及清單中所有條件皆已滿足時所套用的 Setter 清單。

(繼承來源 BindableObject)

擴充方法

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)

建立並將繫結套用至屬性。

適用於

另請參閱