DoubleAnimation.EnableDependentAnimation Propriedade
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.
Obtém ou define um valor que declara se as propriedades animadas consideradas animações dependentes devem ter permissão para usar essa declaração de animação.
public:
property bool EnableDependentAnimation { bool get(); void set(bool value); };
bool EnableDependentAnimation();
void EnableDependentAnimation(bool value);
public bool EnableDependentAnimation { get; set; }
var boolean = doubleAnimation.enableDependentAnimation;
doubleAnimation.enableDependentAnimation = boolean;
Public Property EnableDependentAnimation As Boolean
<DoubleAnimation EnableDependentAnimation="bool" />
Valor da propriedade
bool
true se a animação puder ser usada para um caso de animação dependente. false se a animação não puder ser usada para um caso de animação dependente. O padrão é false.
Comentários
O que é considerado uma animação dependente?
Nem todas as animações personalizadas que você cria podem ser executadas por padrão em um aplicativo do Windows Runtime quando o sistema de animação determina que elas podem comprometer o desempenho da sua interface do usuário. As animações nas quais o sistema determina que pode haver um impacto no desempenho são denominadas animações dependentes. Isso depende porque sua animação está atualizando objetos ativamente e frequentemente no thread da interface do usuário, que também é onde a entrada do usuário atual e outras atualizações programáticas estão fazendo alterações de runtime na interface do usuário.
Uma animação dependente que está consumindo muitos recursos de sistema no thread de interface do usuário pode fazer com que o aplicativo pareça não responder em determinadas situações. Quando sua animação gera uma alteração de layout ou tem a capacidade de afetar o desempenho no thread de interface do usuário, você geralmente precisa habilitá-la explicitamente para que ela seja executada. É para isso que serve a propriedade EnableDependentAnimation em classes de animação específicas. Use essa propriedade com cuidado, pois defini-la como true significa que você está deliberadamente reconhecendo que a animação pode retardar outras operações no thread da interface do usuário quando ela for executada.
Para saber mais, consulte Animações com storyboard. Esse tópico inclui uma lista dos critérios para uma animação independente. Uma animação será uma animação dependente se ela não atender a pelo menos um desses critérios. Para a propriedade específica que você pretende animar e para as especificidades da animação, compare a animação pretendida com os critérios para ver se ela seria considerada dependente ou independente pelo sistema.
Outra maneira de descobrir se suas animações são dependentes é que você pode receber um aviso da sua superfície ou ferramenta de design XAML depois de compor essa animação, e o aviso indica que você precisará definir EnableDependentAnimation como true para ver sua animação ser executada.
Como um desenvolvedor de aplicativo, você também pode optar por aplicar uma configuração válida para todo o aplicativo que sempre desabilite animações dependentes, até mesmo aquelas em que EnableDependentAnimation é true. Consulte Timeline.AllowDependentAnimations. Isso é útil para você como desenvolvedor de aplicativos se você estiver consumindo controles em que os modelos têm animações dependentes e você identificou isso como um problema de desempenho, mas não deseja ter que retemplar todo o controle para desativar essas animações.