我在 WPF 中使用 VSM(来自 WPF 工具包的视觉状态管理器),并且正在尝试查找状态列表。
基本上,我知道有某些“神奇”状态——比如当控件被鼠标悬停时会自动应用 MouseOver 状态,或者当 ... 聚焦时应用 Focused 状态。
在某处有这些清单吗?我确定有,只是找不到。
我在 WPF 中使用 VSM(来自 WPF 工具包的视觉状态管理器),并且正在尝试查找状态列表。
基本上,我知道有某些“神奇”状态——比如当控件被鼠标悬停时会自动应用 MouseOver 状态,或者当 ... 聚焦时应用 Focused 状态。
在某处有这些清单吗?我确定有,只是找不到。
这是关于此的另一个资源。
在其中,Jeetu 列出了每个基本控件的状态组和每个组中的状态。为了方便起见,我也会在这里列出它们。
Button, GridViewColumnHeader, RepeatButton:
CommonStates: Normal, MouseOver, Pressed, Disabled
FocusStates: Unfocused, Focused
CheckBox, RadioButton:
CommonStates: Normal, MouseOver, Pressed, Disabled
CheckStates: Unchecked, Checked, Indeterminate
FocusStates: Unfocused, Focused
ListBoxItem:
CommonStates: Normal, MouseOver
SelectionStates: Unselected, Selected
FocusStates: Unfocused, Focused
ProgressBar:
CommonStates: Determinate, Indeterminate
FocusStates: Unfocused, Focused
TextBox, RichTextBox:
CommonStates: Normal, MouseOver, Disabled, ReadOnly
FocusStates: Unfocused, Focused
看看 Karen Corby 在Parts & States Model with VisualStateManager上的最后一篇文章(参见第 4 点)。她列出了在 Silverlight 的基本控件上实现的两个“特殊”状态组:
(来源:scorbs.com)
我相信 WPF 保留了这种组织和命名约定,以便与首次实现 VSM 的 Silverlight 兼容。
对于那些在 .NET 4.0 上查看 WPF 的人,您可以在此处获得详尽的列表: