伪类(Pseudo Classes)
伪类是由控件生成的,通常是作为对某种状态的响应。
例如,:pointerover
伪类表示指针输入当前悬停在(控件的边界内部)。
伪类不是在控件的 Classes
属性中设置的(不同于样式类)。
常见的伪类包括:
:focus
、:disabled
、:pressed
用于按钮,以及 :checked
用于复选框。
一个控件可以同时有多个伪类处于活动状态。
您可以在样式选择器中指定一个或多个伪类。例如:
<Style Selector="Button.red:focus:pointover">
此选择器针对具有设置了红色类的按钮控件,且处于 :focus
和 :pointover
伪类状态的情况。
一些常见的伪类:
伪类 | 描述 |
---|---|
:pointerover | 指针输入当前悬停在(控件的边界内部) |
:focus | 控件拥有输入焦点 |
:disabled | 控件无法响应用户交互 |
:pressed | 按钮控件处于按下状态 |
:checked | 复选框控件已选中(显示勾选标记) |
自定义伪类
您可以为基于 CustomControl
或 TemplatedControl
的自定义控件创建自己的伪类。下面的函数根据 StyledElement
上的布尔值添加或移除伪类。
PseudoClasses.Set(":className", bool);