WPF Animieren, Breite und Höhe mit code behind (Zoom in)
Ich bin in der Lage zu animieren, die Bewegung von einer Grenze:
private void MoveTo(Border target, double newX, double newY)
{
Vector offset = VisualTreeHelper.GetOffset(target);
var top = offset.Y;
var left = offset.X;
TranslateTransform trans = new TranslateTransform();
target.RenderTransform = trans;
DoubleAnimation anim1 = new DoubleAnimation(0, newY - top, TimeSpan.FromMilliseconds(500));
DoubleAnimation anim2 = new DoubleAnimation(0, newX - left, TimeSpan.FromMilliseconds(500));
trans.BeginAnimation(TranslateTransform.YProperty, anim1);
trans.BeginAnimation(TranslateTransform.XProperty, anim2);
}
Aber ich möchte in der Lage sein zu animieren, eine Steigerung in Höhe und Breite sowie position, um den Eindruck zu vergrößern, ein Bild(was ist enthalten in einem Rahmen in meinem Fall und Beispiel oben).
Ist diese spossible mit code hinter?
OK, ich habe versucht, die Skala zu transformieren, aber es scheint nicht, etwas zu tun - brauche ich ein storyboard?
private void Zoom(Border target)
{
TranslateTransform trans = new TranslateTransform();
target.RenderTransform = trans;
DoubleAnimation anim1 = new DoubleAnimation(1, 2, TimeSpan.FromMilliseconds(1000));
DoubleAnimation anim2 = new DoubleAnimation(1, 2, TimeSpan.FromMilliseconds(1000));
trans.BeginAnimation(ScaleTransform.ScaleXProperty, anim1);
trans.BeginAnimation(ScaleTransform.ScaleYProperty, anim2);
}
InformationsquelleAutor Robben_Ford_Fan_boy | 2012-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
ScaleTransform
, keine Notwendigkeit fürHeight
&Width
Animationen, dieScaleTransform
Einfluss auf Ihre GrenzeVisualTree
so das innere Bild wird gestreckt als gut.Verwenden Sie nicht
TranslateTransform trans = new TranslateTransform();
eherScaleTransform trans = new ScaleTransform();
meine aktualisierten code, der seine Arbeit perfekt @DavidRelihanInformationsquelleAutor S3ddi9
Ist es besser, verwenden Sie skalieren, transformieren, zum Zoomen, aber wenn Sie darauf bestehen, zu animieren, B/H können Sie es tun, da diese normale DP-Sie können Sie animieren mit standard-DoubleAnimation/DoubleAnimationUsingKeyFrames
So etwas wie
InformationsquelleAutor Sebastian Ðymel