DataTrigger 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表任意繫結上條件的類別,以及滿足條件時會套用的 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 | |
TargetType |
可附加這個 TriggerBase 物件的目標物件類型。 (繼承來源 TriggerBase) |
Value |
取得或設定繫結的值,由 Binding 屬性命名,此值會導致套用 setter。 |
方法
事件
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) |
在來源物件上的 屬性與目標物件上的屬性之間建立系結。 |