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
- 繼承
- 屬性
- 實作
範例
下列範例顯示控制元件可用的Button具名 Style 。
Style定義Trigger專案,當 屬性為 true
時IsPressed,會變更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開啟Button。ListBoxItem Property感興趣的 必須是相依性屬性。
請注意,您必須在 上Trigger指定 Property 和 Value 屬性,讓觸發程式有意義。 如果未設定其中一或兩個屬性,則會擲回例外狀況。
對象的 Setters 屬性 Trigger 只能包含 Setter 物件。 Setter將子系新增至 Trigger 物件,以隱含方式將它新增至 SetterBaseCollection 物件的 Trigger 。 EventSetter 不支援物件;僅 Style.Setters 支援 EventSetter 物件。
還有其他類型的觸發程式。 MultiTrigger 可讓您根據多個屬性的狀態來套用變更。 EventTrigger 可讓您在事件發生時套用變更。 DataTrigger 和 MultiDataTrigger 適用於數據系結屬性。
建構函式
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 |
取得或設定要與項目之屬性值相比較的值。 這個比較是參考相等檢查。 |
方法
明確介面實作
IAddChild.AddChild(Object) |
加入子物件。 |
IAddChild.AddText(String) |
將節點的文字內容加入物件中。 |
ISupportInitialize.BeginInit() |
表示物件正在啟動初始設定。 |
ISupportInitialize.EndInit() |
表示物件已完成初始設定。 |