Fare tekerini kullanarak bir Tuvali yakınlaştırıp uzaklaştırabilmem gerekir. Fare tekerleği işleyicilerini başarıyla kurdum ve yakınlaştırmayı uygulamak için şu anda bir ScaleTransform kullanıyorum; Ancak, ölçeklendirme "sezgisel" bir şekilde yapılmaz.Silverlight 3 - ScaleTransform veya bir tuvali yakınlaştırmak için başka bir yöntem mi?
MultiScaleImage, Google Maps/Earth veya Adobe Acrobat Reader'da görebileceğiniz gibi, aynı "yakınlaştırma" stilini gerçekleştirmeye çalışıyorum - ancak bir görüntü ile birlikte, bir kontrol ile. Geçişin "pürüzsüz" veya animasyonlu olması gerekmez (daha kolay bir yaklaşım değilse), ancak işlevsellik aynı olmalıdır.
Herhangi bir düşünce veya fikir çok takdir edilecek ve şimdiden teşekkürler!
Düzenleme:
_Zoom += (args.Delta/7);
if (_Zoom < 0.15)
_Zoom = 0.15;
ZoomAnimationX.To = _Zoom;
ZoomAnimationY.To = _Zoom;
ZoomStoryboard.Begin();
ZoomScale.Text = _Zoom.ToString("0.00") + "x";
_PreviousMousePosition = _CurrentMousePosition
Ancak mesele hala dışarı yakınlaştırma olduğunu ortaya: Aşağıdaki kodu ile
<Canvas.Resources>
<Storyboard x:Name="ZoomStoryboard">
<DoubleAnimation x:Name="ZoomAnimationX"
Storyboard.TargetName="Workspace"
Storyboard.TargetProperty="Canvas.RenderTransform.ScaleTransform.ScaleX"
Duration="0:0:0.2"/>
<DoubleAnimation x:Name="ZoomAnimationY"
Storyboard.TargetName="Workspace"
Storyboard.TargetProperty="Canvas.RenderTransform.ScaleTransform.ScaleY"
Duration="0:0:0.2"/>
</Storyboard>
</Canvas.Resources>
: Ben "pürüzsüz" zoom kullanarak animasyon başardınız Google Haritalar gibi zumun farenin "etrafında" olduğu yerlerin aksine, sol üst köşede.
Kaynak için teşekkürler :) +1 –
CenterAnimation nedir? – Erix