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

範例

下列範例顯示控制項可用的 Button 具名 StyleStyle定義 Trigger 專案,當 屬性為 trueIsPressed ,會變更 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 當使用者將游標停留在 或 的 ContentElement 對應 IsMouseOver 屬性上方 UIElement 時所設定 true 的屬性。 在屬性值中代表使用者動作以及 Trigger 元素,可讓 WPF 樣式根據這些終端使用者動作變更屬性值,全部都來自標記內。

當觸發條件不再滿足時,觸發程式變更的屬性會自動重設為先前的值。 觸發程式已針對預期變更並返回原始狀態的暫時性狀態進行優化,例如 IsPressed 開啟和 IsSelected 開啟 ButtonListBoxItem Property感興趣的 必須是相依性屬性。

請注意,您必須在 上 Trigger 指定 PropertyValue 屬性,讓觸發程式有意義。 如果未設定其中一或兩個屬性,則會擲回例外狀況。

物件的 Setters 屬性 Trigger 只能包含 Setter 物件。 Setter將子系新增至 Trigger 物件,以隱含方式將它新增至 SetterBaseCollection 物件的 TriggerEventSetter 不支援 物件;僅 Style.Setters 支援 EventSetter 物件。

還有其他類型的觸發程式。 MultiTrigger 可讓您根據多個屬性的狀態來套用變更。 EventTrigger 可讓您在事件發生時套用變更。 DataTriggerMultiDataTrigger 適用于資料系結屬性。

建構函式

Trigger()

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

屬性

DependencyObjectType

取得包裝 DependencyObjectType 這個實例 CLR 型別的 。

(繼承來源 DependencyObject)
Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObject

(繼承來源 DispatcherObject)
EnterActions

取得要在觸發程序物件變成作用中時所套用的 TriggerAction 物件集合。 此屬性不適用於 EventTrigger 類別。

(繼承來源 TriggerBase)
ExitActions

取得 TriggerAction 物件的集合,在觸發程序物件變成非作用時套用。 此屬性不適用於 EventTrigger 類別。

(繼承來源 TriggerBase)
IsSealed

取得值,這個值表示此執行個體目前是否已密封 (唯讀)。

(繼承來源 DependencyObject)
Property

取得或設定屬性,傳回與觸發程式之 Value 屬性相比較的值。 這個比較是參考相等檢查。

Setters

取得 Setter 物件的集合,這些物件描述滿足指定的條件時要套用的屬性值。

SourceName

取得或設定物件名稱,這個物件具有會套用相關聯之 setter 的屬性。

Value

取得或設定要與項目之屬性值相比較的值。 這個比較是參考相等檢查。

方法

CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
ClearValue(DependencyProperty)

清除屬性的區域數值。 要清除的屬性是由 DependencyProperty 識別項所指定。

(繼承來源 DependencyObject)
ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。 要清除的屬性是由 DependencyPropertyKey 所指定。

(繼承來源 DependencyObject)
CoerceValue(DependencyProperty)

強制轉型所指定相依性屬性的值。 完成方式是叫用存在於呼叫 DependencyObject 之相依性屬性的屬性中繼資料中所指定的任何 CoerceValueCallback 函式。

(繼承來源 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)

明確介面實作

IAddChild.AddChild(Object)

加入子物件。

IAddChild.AddText(String)

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

ISupportInitialize.BeginInit()

表示物件正在啟動初始設定。

ISupportInitialize.EndInit()

表示物件已完成初始設定。

適用於

另請參閱