VisualStateGroup Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Contém objetos mutuamente exclusivos VisualState e VisualTransition objetos que são usados para passar de um estado para outro.
public ref class VisualStateGroup : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("States")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualStateGroup : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("States")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualStateGroup = class
inherit DependencyObject
Public Class VisualStateGroup
Inherits DependencyObject
- Herança
- Atributos
Exemplos
O exemplo seguinte cria um simples ControlTemplate para um Button que contém um Grid. Contém também um VisualStateGroup nome CommonStates, que define os MouseOver estados e Normal . O VisualStateGroup também tem um VisualTransition que especifica que demora meio segundo para mudar Grid de verde para vermelho quando o utilizador move o ponteiro do rato sobre o Button.
<ControlTemplate TargetType="Button">
<Grid >
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<!--Take one half second to trasition to the MouseOver state.-->
<VisualTransition To="MouseOver"
GeneratedDuration="0:0:0.5"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<!--Change the SolidColorBrush, ButtonBrush, to red when the
mouse is over the button.-->
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush"
Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
</Grid.Background>
</Grid>
</ControlTemplate>
Observações
Cada um VisualStateGroup contém uma coleção de VisualState objetos. A contém uma coleção de Storyboard objetos que especificam como a aparência do controlo VisualState muda quando este está num determinado estado. Por exemplo, a Button pode ter uma aparência ligeiramente diferente quando é pressionada do que quando não é pressionada. Dois estados que os Button defines correspondem a quando é pressionado ("Pressed") e quando não é pressionado ("Normal").
Adiciona-se VisualState a um controlo definindo a VisualStateManager.VisualStateGroups propriedade associada no controlo. Colocas estados que são mutuamente exclusivos entre si no mesmo VisualStateGrouplugar. Por exemplo, o CheckBox tem dois VisualStateGroup objetos. Um contém os estados, Normal, MouseOver, Pressed, e Disabled. O outro contém os estados, Checked, UnChecked, e Indeterminate. Podem CheckBox estar nos estados MouseOver e UnChecked ao mesmo tempo, mas não podem estar nos MouseOver estados e Pressed ao mesmo tempo.
Embora possas adicionar VisualState objetos a qualquer elemento, são uma forma particularmente útil de permitir que outros redefinam o comportamento visual de um Control. Se criares um controlo personalizado que use um ControlTemplate, podes especificar em que estados esse controlo pode estar, adicionando a TemplateVisualStateAttribute à definição de classe dele. Depois, qualquer pessoa que crie um novo ControlTemplate para o teu controlo pode adicionar VisualState objetos ao template. O TemplateVisualStateAttribute permite que ferramentas de designer, como Visual Studio e Blend para Visual Studio, exponham os estados do controlo. Estados com o mesmo TemplateVisualStateAttribute.GroupName pertencem ao mesmo VisualStateGroup.
Para mais informações sobre como usar VisualStateGroup objetos num ControlTemplate, veja Como criar um modelo para um controlo. Para mais informações sobre como criar controlos que utilizam o VisualStateManager, veja Criar um Controlo que Tem uma Aparência Personalizável.
A Transitions propriedade contém VisualTransition objetos que são aplicados quando a transição de controlo entre estados definidos no VisualStateGroup.
Construtores
| Name | Description |
|---|---|
| VisualStateGroup() |
Inicializa uma nova instância da VisualStateGroup classe. |
Propriedades
| Name | Description |
|---|---|
| CurrentState |
Obtém o VisualState que está atualmente aplicado ao controlo. |
| DependencyObjectType |
Obtém o DependencyObjectType que envolve o tipo CLR desta instância. (Herdado de DependencyObject) |
| Dispatcher |
Percebe o Dispatcher que isto DispatcherObject está associado. (Herdado de DispatcherObject) |
| IsSealed |
Recebe um valor que indica se esta instância está atualmente selada (apenas leitura). (Herdado de DependencyObject) |
| Name |
Obtém ou define o nome do VisualStateGroup. |
| States |
Fica com a coleção de objetos mutuamente exclusivos VisualState . |
| Transitions |
Fica com a coleção de VisualTransition objetos. |
Métodos
| Name | Description |
|---|---|
| CheckAccess() |
Determina se o thread que chama tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
| ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um DependencyProperty identificador. (Herdado de DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Limpa o valor local de uma propriedade de apenas leitura. O imóvel a ser limpo é especificado por um DependencyPropertyKey. (Herdado de DependencyObject) |
| CoerceValue(DependencyProperty) |
Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada DependencyObject. (Herdado de DependencyObject) |
| Equals(Object) |
Determina se um fornecido DependencyObject é equivalente à corrente DependencyObject. (Herdado de DependencyObject) |
| GetHashCode() |
Obtém um código de hash para isto DependencyObject. (Herdado de DependencyObject) |
| GetLocalValueEnumerator() |
Cria um enumerador especializado para determinar quais as propriedades de dependência que têm valores localmente definidos neste DependencyObject. (Herdado de DependencyObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetValue(DependencyProperty) |
Devolve o valor efetivo atual de uma propriedade de dependência nesta instância de um DependencyObject. (Herdado de DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Reavalia o valor efetivo da propriedade de dependência especificada. (Herdado de DependencyObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Invocado sempre que o valor efetivo de qualquer propriedade de dependência disto DependencyObject for atualizado. A propriedade específica da dependência que mudou é reportada nos dados do evento. (Herdado de DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Devolve o valor local de uma propriedade de dependência, se esta existir. (Herdado de DependencyObject) |
| SetCurrentValue(DependencyProperty, Object) |
Define o valor de uma propriedade de dependência sem alterar a sua fonte de valor. (Herdado de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência, especificado pelo seu identificador de propriedade de dependência. (Herdado de DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Define o valor local de uma propriedade de dependência somente de leitura, especificado pelo DependencyPropertyKey identificador da propriedade de dependência. (Herdado de DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Devolve um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida. (Herdado de DependencyObject) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| VerifyAccess() |
Faz cumprir que o thread que chama tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
evento
| Name | Description |
|---|---|
| CurrentStateChanged |
Ocorre depois de um controlo transitar para um estado diferente. |
| CurrentStateChanging |
Ocorre quando um controlo começa a transitar para um estado diferente. |