共用方式為


VisualState 類別

定義

表示控件處於特定狀態時的視覺外觀。

public ref class VisualState : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("Storyboard")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualState : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("Storyboard")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualState = class
    inherit DependencyObject
Public Class VisualState
Inherits DependencyObject
繼承
屬性

範例

下列範例會在名為 CommonStatesButtonControlTemplate 中建立 VisualStateGroup,併為狀態、NormalPressedMouseOver新增 VisualState 物件。 Button 也會定義在 CommonStatesVisualStateGroup中稱為 Disabled 的狀態,但此範例會省略它以求簡潔。 如需整個範例,請參閱 建立ControlTemplate自定義現有控件的外觀。

  <!--Define the states and transitions for the common states.
      The states in the VisualStateGroup are mutually exclusive to
      each other.-->
  <VisualStateGroup x:Name="CommonStates">

    <!--The Normal state is the state the button is in
        when it is not in another state from this VisualStateGroup.-->
    <VisualState x:Name="Normal" />

    <!--Change the SolidColorBrush, BorderBrush, to red when the
        mouse is over the button.-->
    <VisualState x:Name="MouseOver">
      <Storyboard>
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        Storyboard.TargetProperty="Color" 
                        To="Red" />
      </Storyboard>
    </VisualState>

    <!--Change the SolidColorBrush, BorderBrush, to Transparent when the
        button is pressed.-->
    <VisualState x:Name="Pressed">
      <Storyboard>
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        Storyboard.TargetProperty="Color"
                        To="Transparent"/>
      </Storyboard>
    </VisualState>

    <!--The Disabled state is omitted for brevity.-->
  </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

備註

VisualState 會指定控件處於特定狀態時的外觀。 例如,按下 Button 時,其框線可能與一般色彩不同。 VisualState 類別具有可變更控件外觀的 Storyboard 屬性。 當控件進入由 VisualState.Name 屬性指定的狀態時,就會開始 Storyboard。 當控件結束狀態時,Storyboard 會停止。

VisualStateGroup.States 屬性包含 VisualState 物件。 VisualStateGroup 物件會新增至 VisualStateManager.VisualStateGroups 附加屬性,其定義於 FrameworkElement上。 您可以將 VisualState 物件新增至任何 FrameworkElement,但通常會用於 ControlControlTemplate。 如需如何為現有控件建立 對象的詳細資訊,請參閱建立 ControlTemplate自定義現有控件的外觀 。 如需在 ControlTemplate外部使用 VisualState 物件的範例,請參閱 VisualStateManager 類別。

建構函式

VisualState()

初始化 VisualState 類別的新實例。

屬性

DependencyObjectType

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

(繼承來源 DependencyObject)
Dispatcher

取得與這個 DispatcherObject 相關聯的 Dispatcher

(繼承來源 DispatcherObject)
IsSealed

取得值,這個值表示這個實例目前是否為密封狀態(只讀)。

(繼承來源 DependencyObject)
Name

取得或設定 VisualState的名稱。

Storyboard

取得或設定 Storyboard,這個 Storyboard 定義當控件處於 VisualState所表示的狀態時,控件的外觀。

方法

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)
SetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不變更其值來源。

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

設定相依性屬性的本機值,其相依性屬性標識符所指定。

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

設定只讀相依性屬性的本機值,由相依性屬性 DependencyPropertyKey 標識碼所指定。

(繼承來源 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示串行化進程是否應該串行化所提供相依性屬性的值。

(繼承來源 DependencyObject)
ToString()

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

(繼承來源 Object)
VerifyAccess()

強制呼叫線程可以存取此 DispatcherObject

(繼承來源 DispatcherObject)

適用於