que han aplicado la animación del movimiento de un control de la red de la siguiente manera:mejorar la suavidad de la animación (movimiento de los controles)
<Grid
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=rootLayout, Path=IsVisible}"
Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ThicknessAnimation
Storyboard.TargetProperty="Margin"
From="-500,0,0,0"
To="0,0,0,0"
Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Border
Grid.RowSpan="2"
Background="Black"
CornerRadius="6" >
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
</Border>
<TextBlock
Grid.Row="0"
Width="400"
Height="200"
Margin="20,20,20,10"
Text="{Binding Path=MessageText}" />
<Button
Grid.Row="1"
Margin="20,5,20,15"
HorizontalAlignment="Right"
Width="75"
Content="OK"
Command="{Binding Path=CloseDialogCommand}" />
</Grid>
La animación trabaja muy bien, pero es feo. Es tembloroso/nervioso/espasmódico y realmente parece poco profesional. ¿Hay alguna manera de mejorar esto? ¿Estoy usando el enfoque correcto para animar el cambio de valor en la propiedad Margin
para mover la cuadrícula? He leído sobre RenderTransform
, pero no sé cómo usarlo en mi caso.
Además, la animación no es natural. Sé que esto se puede mejorar, pero no sé cómo. ¿Cuáles son estas propiedades y pueden ayudarme a mejorar mi animación:
AccelerationRatio
DecelerationRatio
EasingFunction
IsAdditive
IsCumulative
SpeedRatio
¡Gracias por ayudarme!
P.S. Estoy tratando de poner la mayor cantidad de código posible en XAML, por lo que preferiría ese enfoque, pero en realidad, si hay algo para mejorar esto ...
Gracias, esto ha mejorado mi animación. Sin embargo, una nota es que la ejecución de la animación en términos de temblores es la misma, pero creo que se debe a un tiempo de duración bastante corto, por lo que la transformación de renderizado o la animación de grosor parecen producir el mismo resultado en lo que respecta a eso. El enlace que ha proporcionado es muy útil, gracias especialmente por eso. – Boris
Encontré una página donde se explica cómo afectar una velocidad de cuadros de la aplicación WPF. El artículo de la página realmente explica cómo reducir la velocidad de cuadros, pero en mi caso necesito lo contrario. Por lo tanto, aumenté la velocidad de fotogramas de 60 a 120 por defecto y ahora las animaciones de la aplicación funcionan como un amuleto. Aquí está el enlace al artículo http://marlongrech.wordpress.com/2008/06/13/wpf-reducing-cpu-consumption-for-animations/ – Boris
La pregunta es cuántos usuarios se beneficiarán de eso, si la pantalla lo hace no es compatible con una frecuencia de actualización suficientemente alta, se verá * peor * que con 60 fps. (Estimo que en la gran mayoría de las computadoras portátiles tienen una frecuencia de actualización de 60Hz para la cual es probable que el valor predeterminado sea el mejor, incluso para PC de escritorio, sospecho que normalmente no se encuentran motores con tasas superiores a 96Hz, con frecuencia) –