共用方式為


DataTrigger 類別

定義

代表任意繫結上條件的類別,以及滿足條件時會套用的 Setter 物件清單。

public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Implements IValueProvider
繼承
屬性
實作

備註

類別 DataTrigger 適用於檢查其他控制項上的值,以及已新增控制件上的任何屬性。 也就是說,其預設系結內容是已加入它的控件。

下列 XML 範例會提示使用者輸入秘密,也就是「文字色彩為綠色」。 當使用者輸入 「The」 時,Entry 文字會將色彩變更為紅色。 當使用者完成秘密時,標籤文字會變成綠色。 如果使用者接著編輯秘密,程式代碼會回復為預設色彩。 這個範例示範如何系結至封入控件 (Entry from Entry),以及系結至仲裁控件 (Entry from Label)

<?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="Can you tell me the secret?" VerticalOptions="Center" HorizontalOptions="Center">
<Label.Triggers>
<DataTrigger TargetType="Label"
                    Binding="{Binding Source={x:Reference checkEntry},
                                      Path=Text}"
                    Value="The text color is green">
<Setter Property="TextColor" Value="Color.Green" />
</DataTrigger>
</Label.Triggers>
</Label>
<Entry Placeholder="Type the secret here." x:Name="checkEntry" VerticalOptions="Center" HorizontalOptions="Center">
<Entry.Triggers>
<DataTrigger TargetType="Entry"
                    Binding="{Binding Text}"
                    Value="The">
<Setter Property="TextColor" Value="Red" />
</DataTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

建構函式

DataTrigger(Type)

初始化新的 DataTrigger 執行個體。

屬性

Binding

取得或設定繫結,其值會與 Value 進行比較,以判斷何時應叫用 setter。

BindingContext

取得或設定 物件,其中包含屬於這個 BindableObject之系結屬性的目標屬性。 這是可繫結屬性。

(繼承來源 BindableObject)
Dispatcher

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

(繼承來源 BindableObject)
EnterActions

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

(繼承來源 TriggerBase)
ExitActions

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

(繼承來源 TriggerBase)
IsSealed

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

(繼承來源 TriggerBase)
Setters

取得當 屬性所Binding命名的系結等於 Value時,將套用的物件清單Setter

TargetType

可附加這個 TriggerBase 物件的目標物件類型。

(繼承來源 TriggerBase)
Value

取得或設定繫結的值,由 Binding 屬性命名,此值會導致套用 setter。

方法

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)

代表任意繫結上條件的類別,以及滿足條件時會套用的 Setter 物件清單。

(繼承來源 BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

代表任意繫結上條件的類別,以及滿足條件時會套用的 Setter 物件清單。

擴充方法

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)

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

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

在來源物件上的 屬性與目標物件上的屬性之間建立系結。

適用於