Trigger 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表一個觸發條件,能套用屬性值或執行條件動作。
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
- 繼承
- 屬性
- 實作
範例
以下範例顯示一個 Style 可 Button 被控制項使用的名字。 定義Style了一個Trigger元素,當屬性IsPressed為 true時,會改變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 在 和 ButtonIsSelected 。ListBoxItem 感興趣的 Property 必須是依賴性質。
請注意,觸發條件必須同時指定 Property a Trigger 上的屬性Value和屬性,觸發才有意義。 若其中一項或兩種屬性未被設定,則會拋出例外。
Setters物件的Trigger性質只能由物件組成Setter。 將子節點加入SetterTrigger物件隱含地加入SetterBaseCollection該物件的 。Trigger EventSetter 物件不被支援;只 Style.Setters 支援 EventSetter 物件。
還有其他類型的觸發因素。 MultiTrigger 允許你根據多個屬性的狀態套用變更。 EventTrigger 允許你在事件發生時套用變更。 DataTrigger 和 MultiDataTrigger 是資料綁定性質的集合。
建構函式
| 名稱 | 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 |
|---|---|
| IAddChild.AddChild(Object) |
新增一個子物件。 |
| IAddChild.AddText(String) |
將節點的文字內容加入物件。 |
| ISupportInitialize.BeginInit() |
會向物件發出初始化開始的訊號。 |
| ISupportInitialize.EndInit() |
會向物件表示初始化完成。 |