共用方式為


Trigger 類別

定義

代表一個觸發條件,能套用屬性值或執行條件動作。

public ref class Trigger : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
public ref class Trigger : System::Windows::TriggerBase, System::ComponentModel::ISupportInitialize, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
public class Trigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.XamlSetTypeConverter("ReceiveTypeConverter")]
public class Trigger : System.Windows.TriggerBase, System.ComponentModel.ISupportInitialize, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Setters")>]
type Trigger = class
    inherit TriggerBase
    interface IAddChild
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.XamlSetTypeConverter("ReceiveTypeConverter")>]
type Trigger = class
    inherit TriggerBase
    interface IAddChild
    interface ISupportInitialize
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.XamlSetTypeConverter("ReceiveTypeConverter")>]
type Trigger = class
    inherit TriggerBase
    interface ISupportInitialize
    interface IAddChild
Public Class Trigger
Inherits TriggerBase
Implements IAddChild
Public Class Trigger
Inherits TriggerBase
Implements IAddChild, ISupportInitialize
繼承
屬性
實作

範例

以下範例顯示一個 StyleButton 被控制項使用的名字。 定義Style了一個Trigger元素,當屬性IsPressedtrue時,會改變Foreground按鈕的屬性。

<Style x:Key="Triggers" TargetType="Button">
    <Style.Triggers>
    <Trigger Property="IsPressed" Value="true">
        <Setter Property = "Foreground" Value="Green"/>
    </Trigger>
    </Style.Triggers>
</Style>

備註

WPF 定義了對應最終使用者動作的屬性,例如IsMouseOver當使用者將游標懸停在 a UIElement 上時設定為true的屬性,或IsMouseOver是 的 ContentElement屬性。 將最終使用者的動作與元素一同 Trigger 表示,讓 WPF 樣式能根據這些最終使用者的動作,在標記內改變屬性值。

當觸發條件不再滿足時,觸發變更的屬性會自動重置回先前的值。 觸發器針對預期會改變並回復原始狀態的瞬態進行優化,例如 IsPressed 在 和 ButtonIsSelectedListBoxItem 感興趣的 Property 必須是依賴性質。

請注意,觸發條件必須同時指定 Property a Trigger 上的屬性Value和屬性,觸發才有意義。 若其中一項或兩種屬性未被設定,則會拋出例外。

Setters物件的Trigger性質只能由物件組成Setter。 將子節點加入SetterTrigger物件隱含地加入SetterBaseCollection該物件的 。Trigger EventSetter 物件不被支援;只 Style.Setters 支援 EventSetter 物件。

還有其他類型的觸發因素。 MultiTrigger 允許你根據多個屬性的狀態套用變更。 EventTrigger 允許你在事件發生時套用變更。 DataTriggerMultiDataTrigger 是資料綁定性質的集合。

建構函式

名稱 Description
Trigger()

初始化 Trigger 類別的新執行個體。

屬性

名稱 Description
DependencyObjectType

會取得 DependencyObjectType 包裹此實例 CLR 類型的 。

(繼承來源 DependencyObject)
Dispatcher

了解 Dispatcher 這與此 DispatcherObject 有關。

(繼承來源 DispatcherObject)
EnterActions

當觸發物件啟用時,會得到一組 TriggerAction 物件套用。 此性質不適用於該 EventTrigger 類別。

(繼承來源 TriggerBase)
ExitActions

當觸發物件變得非活動時,會取得一組 TriggerAction 物件套用。 此性質不適用於該 EventTrigger 類別。

(繼承來源 TriggerBase)
IsSealed

會獲得一個值,表示該實例目前是否封存(唯讀)。

(繼承來源 DependencyObject)
Property

取得或設定回傳與觸發條件屬性比較 Value 的值的屬性。 比較是參考資料的平等性檢查。

Setters

取得一組 Setter 物件,描述當符合指定條件時應套用的屬性值。

SourceName

取得或設定物件名稱,並帶有導致相關設定器被套用的屬性。

Value

取得或設定要比較的值與元素的性質值。 比較是參考資料的平等性檢查。

方法

名稱 Description
CheckAccess()

判斷呼叫執行緒是否能存取此 DispatcherObject

(繼承來源 DispatcherObject)
ClearValue(DependencyProperty)

清算房產的當地價值。 要清除的屬性由識別 DependencyProperty 碼指定。

(繼承來源 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只讀屬性的局部值。 要清除的屬性由 DependencyPropertyKey指定。

(繼承來源 DependencyObject)
CoerceValue(DependencyProperty)

強制設定指定的依賴性質值。 這是透過在屬性CoerceValueCallback中指定的依賴屬性元資料中,呼叫 的依賴屬性中的任何DependencyObject函式來達成的。

(繼承來源 DependencyObject)
Equals(Object)

判斷所給的 DependencyObject 是否等同於電流 DependencyObject

(繼承來源 DependencyObject)
GetHashCode()

會得到一個 DependencyObject雜湊碼。

(繼承來源 DependencyObject)
GetLocalValueEnumerator()

建立專門的枚舉器,用以判斷哪些相依屬性在局部 DependencyObject設定值。

(繼承來源 DependencyObject)
GetType()

取得目前實例的 Type

(繼承來源 Object)
GetValue(DependencyProperty)

回傳此實例 DependencyObject上依賴屬性的當前有效值。

(繼承來源 DependencyObject)
InvalidateProperty(DependencyProperty)

重新評估指定相依性質的有效值。

(繼承來源 DependencyObject)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

當任何依賴性財產 DependencyObject 的實際價值更新時,該權利會被調用。 變更的具體相依屬性會在事件資料中報告。

(繼承來源 DependencyObject)
ReadLocalValue(DependencyProperty)

回傳依賴屬性的局部值(若存在)。

(繼承來源 DependencyObject)
ReceiveTypeConverter(Object, XamlSetTypeConverterEventArgs)

處理型別轉換器提供物件屬性 Trigger 值的情況。

SetCurrentValue(DependencyProperty, Object)

設定依賴屬性的值,且不改變其值來源。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

設定依賴屬性的局部值,並由其依賴屬性識別碼指定。

(繼承來源 DependencyObject)
SetValue(DependencyPropertyKey, Object)

設定只讀相依屬性的本地值,該值由 DependencyPropertyKey 相依屬性的識別碼指定。

(繼承來源 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

回傳一個值,指示序列化程序是否應該將所提供的相依屬性的值序列化。

(繼承來源 DependencyObject)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
VerifyAccess()

強制呼叫執行緒能存取此 DispatcherObject

(繼承來源 DispatcherObject)

明確介面實作

名稱 Description
IAddChild.AddChild(Object)

新增一個子物件。

IAddChild.AddText(String)

將節點的文字內容加入物件。

ISupportInitialize.BeginInit()

會向物件發出初始化開始的訊號。

ISupportInitialize.EndInit()

會向物件表示初始化完成。

適用於