VisualState 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示控件處於特定狀態時的視覺外觀。
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
- 繼承
- 屬性
範例
下列範例會在名為 CommonStates
的 ButtonControlTemplate 中建立 VisualStateGroup,併為狀態、Normal
、Pressed
和 MouseOver
新增 VisualState 物件。
Button 也會定義在 CommonStates
VisualStateGroup中稱為 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,但通常會用於 Control的 ControlTemplate。 如需如何為現有控件建立
建構函式
VisualState() |
初始化 VisualState 類別的新實例。 |
屬性
DependencyObjectType |
取得包裝這個實例 CLR 類型的 DependencyObjectType。 (繼承來源 DependencyObject) |
Dispatcher |
取得與這個 DispatcherObject 相關聯的 Dispatcher。 (繼承來源 DispatcherObject) |
IsSealed |
取得值,這個值表示這個實例目前是否為密封狀態(只讀)。 (繼承來源 DependencyObject) |
Name |
取得或設定 VisualState的名稱。 |
Storyboard |
取得或設定 Storyboard,這個 Storyboard 定義當控件處於 VisualState所表示的狀態時,控件的外觀。 |