VisualStateGroup Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Contém objetos mutuamente exclusivos VisualState e VisualTransition objetos que são usados para mover 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 a seguir cria um simples ControlTemplate para um que contém um ButtonGrid. Ele também contém um VisualStateGroup nome CommonStates, que define o e Normal os MouseOver estados. O VisualStateGroup também tem um VisualTransition que especifica que leva meio segundo para a Grid alteração de verde para vermelho quando o usuário move o ponteiro do mouse 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>
Comentários
Cada VisualStateGroup um contém uma coleção de VisualState objetos. Um VisualState contém uma coleção de Storyboard objetos que especificam como a aparência do controle é alterada quando o controle está em um determinado estado. Por exemplo, um Button pode ter uma aparência ligeiramente diferente quando é pressionado do que quando não é pressionado. Dois estados aos quais as Button definições correspondem quando ela é pressionada ("Pressed") e quando não é ("Normal").
Você adiciona VisualState a um controle definindo a VisualStateManager.VisualStateGroups propriedade anexada no controle. Você coloca estados que são mutuamente exclusivos uns com os outros no mesmo VisualStateGroup. Por exemplo, o CheckBox tem dois VisualStateGroup objetos. Um contém os estados, Normal, MouseOvere PressedDisabled. O outro contém os estados, Checkede UnCheckedIndeterminate. Pode CheckBox estar em estados MouseOver e UnChecked ao mesmo tempo, mas não pode ser no MouseOver estado e Pressed ao mesmo tempo.
Embora você possa adicionar VisualState objetos a qualquer elemento, eles são uma maneira particularmente útil de permitir que outras pessoas redefinam o comportamento visual de um Control. Se você criar um controle personalizado que usa um ControlTemplate, poderá especificar em quais estados esse controle pode estar adicionando uma TemplateVisualStateAttribute definição de classe. Em seguida, qualquer pessoa que cria um novo ControlTemplate para o controle pode adicionar VisualState objetos ao modelo. As TemplateVisualStateAttribute ferramentas de designer, como o Visual Studio e o Blend para Visual Studio, expõem os estados do controle. Estados com o mesmo TemplateVisualStateAttribute.GroupName pertencem ao mesmo VisualStateGroup.
Para obter mais informações sobre como usar VisualStateGroup objetos em um ControlTemplate, consulte Como criar um modelo para um controle. Para obter mais informações sobre como criar controles que usam o VisualStateManager, consulte Criando um controle que tem uma aparência personalizável.
A Transitions propriedade contém VisualTransition objetos que são aplicados quando o controle faz a transição entre estados definidos no VisualStateGroup.
Construtores
| Nome | Description |
|---|---|
| VisualStateGroup() |
Inicializa uma nova instância da classe VisualStateGroup. |
Propriedades
| Nome | Description |
|---|---|
| CurrentState |
Obtém o VisualState que é aplicado no momento ao controle. |
| DependencyObjectType |
Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância. (Herdado de DependencyObject) |
| Dispatcher |
Obtém o Dispatcher que DispatcherObject está associado. (Herdado de DispatcherObject) |
| IsSealed |
Obtém um valor que indica se essa instância está lacrada no momento (somente leitura). (Herdado de DependencyObject) |
| Name |
Obtém ou define o nome do VisualStateGroup. |
| States |
Obtém a coleção de objetos mutuamente exclusivos VisualState . |
| Transitions |
Obtém a coleção de VisualTransition objetos. |
Métodos
| Nome | Description |
|---|---|
| CheckAccess() |
Determina se o thread de chamada tem acesso a isso DispatcherObject. (Herdado de DispatcherObject) |
| ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade. A propriedade a ser desmarcada é especificada por um DependencyProperty identificador. (Herdado de DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Limpa o valor local de uma propriedade somente leitura. A propriedade a ser desmarcada é especificada por um DependencyPropertyKey. (Herdado de DependencyObject) |
| CoerceValue(DependencyProperty) |
Coagi o valor da propriedade de dependência especificada. Isso é feito invocando qualquer CoerceValueCallback função especificada nos metadados de propriedade para a propriedade de dependência como ela existe na chamada DependencyObject. (Herdado de DependencyObject) |
| Equals(Object) |
Determina se um fornecido DependencyObject é equivalente ao atual DependencyObject. (Herdado de DependencyObject) |
| GetHashCode() |
Obtém um código hash para isso DependencyObject. (Herdado de DependencyObject) |
| GetLocalValueEnumerator() |
Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente.DependencyObject (Herdado de DependencyObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetValue(DependencyProperty) |
Retorna 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 Objectatual. (Herdado de Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Invocado sempre que o valor efetivo de qualquer propriedade de dependência tiver DependencyObject sido atualizado. A propriedade de dependência específica que foi alterada é relatada nos dados do evento. (Herdado de DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se ela existir. (Herdado de DependencyObject) |
| SetCurrentValue(DependencyProperty, Object) |
Define o valor de uma propriedade de dependência sem alterar sua fonte de valor. (Herdado de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência. (Herdado de DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Define o valor local de uma propriedade de dependência somente leitura, especificada pelo DependencyPropertyKey identificador da propriedade de dependência. (Herdado de DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida. (Herdado de DependencyObject) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| VerifyAccess() |
Impõe que o thread de chamada tenha acesso a isso DispatcherObject. (Herdado de DispatcherObject) |
Eventos
| Nome | Description |
|---|---|
| CurrentStateChanged |
Ocorre depois que um controle faz a transição para um estado diferente. |
| CurrentStateChanging |
Ocorre quando um controle inicia a transição para um estado diferente. |