SplitOpenThemeAnimation 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.
Representa a animação pré-configurada que revela uma interface do usuário de destino usando uma animação dividida .
public ref class SplitOpenThemeAnimation sealed : Timeline
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SplitOpenThemeAnimation final : Timeline
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SplitOpenThemeAnimation : Timeline
Public NotInheritable Class SplitOpenThemeAnimation
Inherits Timeline
<SplitOpenThemeAnimation .../>
- Herança
- Atributos
Exemplos
Veja a seguir um exemplo de um controle personalizado que usa animações de tema de abertura e divisão divididas.
// Themes/Generic.xaml
<!-- Example template of a custom control that uses split open
and split close theme animations. -->
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:BlankApp1">
<Style TargetType="local:SplitOpenControl" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:SplitOpenControl">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="OpenStates">
<VisualState x:Name="Open">
<Storyboard>
<SplitOpenThemeAnimation
OpenedTargetName="contentBorder"
ContentTargetName="content"
ClosedTargetName="targetRect"
ContentTranslationDirection="Left"
ContentTranslationOffset="200"
OffsetFromCenter="0"
OpenedLength="200"
ClosedLength="0"/>
<DoubleAnimation
Storyboard.TargetName="targetRect"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Closed">
<Storyboard>
<SplitCloseThemeAnimation
OpenedTargetName="contentBorder"
ContentTargetName="content"
ClosedTargetName="targetRect"
ContentTranslationDirection="Left"
ContentTranslationOffset="-200"
OffsetFromCenter="0"
OpenedLength="200"
ClosedLength="0"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle x:Name="targetRect" Width="100" Height="100" Fill="Blue"/>
<Popup IsOpen="False" Height="50" Width="200" x:Name="contentPopup">
<Border x:Name="contentBorder" BorderBrush="Orange" BorderThickness="3">
<TextBlock x:Name="content" Text="Hello, World!" FontSize="20"/>
</Border>
</Popup>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
public sealed class SplitOpenControl : Control
{
private Popup _contentPopup;
public SplitOpenControl()
{
this.DefaultStyleKey = typeof(SplitOpenControl);
}
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
_contentPopup = GetTemplateChild("contentPopup") as Popup;
}
protected override void OnPointerPressed(PointerRoutedEventArgs e)
{
this.CapturePointer(e.Pointer);
_contentPopup.IsOpen = true;
VisualStateManager.GoToState(this, "Open", true);
}
protected override void OnPointerReleased(PointerRoutedEventArgs e)
{
VisualStateManager.GoToState(this, "Closed", true);
this.ReleasePointerCapture(e.Pointer);
}
}
// SplitOpenControl.h:
struct SplitOpenControl : SplitOpenControlT<SplitOpenControl>
{
SplitOpenControl(){ DefaultStyleKey(winrt::box_value(L"MyApp.SplitOpenControl")); }
void OnApplyTemplate();
void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
private:
Windows::UI::Xaml::Controls::Primitives::Popup m_contentPopup;
};
// SplitOpenControl.cpp:
void SplitOpenControl::OnApplyTemplate()
{
m_contentPopup = GetTemplateChild(L"contentPopup").as<Windows::UI::Xaml::Controls::Primitives::Popup>();
}
void SplitOpenControl::OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
CapturePointer(e.Pointer());
m_contentPopup.IsOpen(true);
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"Open", true);
}
void SplitOpenControl::OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"Closed", true);
ReleasePointerCapture(e.Pointer());
}
// SplitOpenControl.h:
public ref class SplitOpenControl sealed : public Windows::UI::Xaml::Controls::Control
{
public:
SplitOpenControl();
protected:
virtual void OnApplyTemplate() override;
virtual void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
virtual void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
private:
Windows::UI::Xaml::Controls::Primitives::Popup ^m_contentPopup;
};
// SplitOpenControl.cpp:
SplitOpenControl::SplitOpenControl()
{
DefaultStyleKey = "MyApp.SplitOpenControl";
}
void SplitOpenControl::OnApplyTemplate()
{
m_contentPopup = static_cast<Popup^>(GetTemplateChild("contentPopup"));
}
void SplitOpenControl::OnPointerPressed(PointerRoutedEventArgs^ e)
{
CapturePointer(e->Pointer);
m_contentPopup->IsOpen = true;
VisualStateManager::GoToState(this, "Open", true);
}
void SplitOpenControl::OnPointerReleased(PointerRoutedEventArgs^ e)
{
VisualStateManager::GoToState(this, "Closed", true);
ReleasePointerCapture(e->Pointer);
}
Comentários
Observe que definir a propriedade Duration não tem efeito sobre esse objeto, pois a duração é pré-configurada.
Construtores
SplitOpenThemeAnimation() |
Inicializa uma nova instância da classe SplitOpenThemeAnimation . |
Propriedades
AutoReverse |
Obtém ou define um valor que indica se a linha do tempo é executada em ordem inversa após concluir uma iteração na ordem comum. (Herdado de Timeline) |
BeginTime |
Obtém ou define a hora em que essa Linha do Tempo deve começar. (Herdado de Timeline) |
ClosedLength |
Obtém ou define o tamanho inicial do elemento de destino na direção da animação. |
ClosedLengthProperty |
Identifica a propriedade de dependência ClosedLength . |
ClosedTarget |
Obtém ou define o elemento de interface do usuário que especifica o tamanho inicial do clipe. |
ClosedTargetName |
Obtém ou define o nome de identificação do elemento de interface do usuário que especifica o tamanho inicial do clipe. |
ClosedTargetNameProperty |
Identifica a propriedade de dependência ClosedTargetName . |
ClosedTargetProperty |
Identifica a propriedade de dependência ClosedTarget . |
ContentTarget |
Obtém ou define o elemento de interface do usuário que será traduzido. Normalmente, esse é um filho/parte do elemento identificado por OpenedTargetName ou OpenedTarget. |
ContentTargetName |
Obtém ou define o nome de identificação do elemento de interface do usuário que será traduzido. Normalmente, esse é um filho/parte do elemento identificado por OpenedTargetName. |
ContentTargetNameProperty |
Identifica a propriedade de dependência ContentTargetName . |
ContentTargetProperty |
Identifica a propriedade de dependência ContentTarget . |
ContentTranslationDirection |
Obtém ou define um valor que determina a direção que o conteúdo deve traduzir quando a animação é executada. |
ContentTranslationDirectionProperty |
Identifica a propriedade de dependência ContentTranslationDirection . |
ContentTranslationOffset |
Obtém ou define os pixels a serem convertidos quando a animação é executada. |
ContentTranslationOffsetProperty |
Identifica a propriedade de dependência ContentTranslationOffset . |
Dispatcher |
Sempre retorna |
DispatcherQueue |
Obtém o ao |
Duration |
Obtém ou define o período para o qual essa linha do tempo é reproduzida, sem contar repetições. (Herdado de Timeline) |
FillBehavior |
Obtém ou define um valor que especifica como a animação se comporta depois de atingir o final de seu período ativo. (Herdado de Timeline) |
OffsetFromCenter |
Obtém ou define um deslocamento do centro do destino aberto . |
OffsetFromCenterProperty |
Identifica a propriedade de dependência OffsetFromCenter . |
OpenedLength |
Obtém ou define o tamanho final do elemento de interface do usuário de destino. |
OpenedLengthProperty |
Identifica a propriedade de dependência OpenedLength . |
OpenedTarget |
Obtém ou define o elemento de interface do usuário que será recortado. |
OpenedTargetName |
Obtém ou define o nome de identificação do elemento de interface do usuário que será recortado. |
OpenedTargetNameProperty |
Identifica a propriedade de dependência OpenedTargetName . |
OpenedTargetProperty |
Identifica a propriedade de dependência OpenedTarget . |
RepeatBehavior |
Obtém ou define o comportamento de repetição desta linha do tempo. (Herdado de Timeline) |
SpeedRatio |
Obtém ou define a taxa, em relação ao pai, em que o tempo progride para esta Linha do Tempo. (Herdado de Timeline) |
Métodos
ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade de dependência. (Herdado de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa. (Herdado de DependencyObject) |
GetValue(DependencyProperty) |
Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject. (Herdado de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se um valor local for definido. (Herdado de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nessa instância dependencyObject . (Herdado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência em um DependencyObject. (Herdado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback. (Herdado de DependencyObject) |
Eventos
Completed |
Ocorre quando o objeto Storyboard concluiu a reprodução. (Herdado de Timeline) |