1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| namespace Omega.UI.Silverlight
{
public partial class Univers : UserControl
{
private bool isDragging;
private Point mouseOffset;
public Univers()
{
InitializeComponent();
}
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
ZoomTransform.ScaleX += e.NewValue - e.OldValue;
ZoomTransform.ScaleY += e.NewValue - e.OldValue;
}
private void Univers_MouseMove(object sender, MouseEventArgs e)
{
if (isDragging)
{
Point point = e.GetPosition(this);
UniversPlanets.SetValue(Canvas.TopProperty, (double)UniversPlanets.GetValue(Canvas.TopProperty) + (point.Y - mouseOffset.Y));
UniversPlanets.SetValue(Canvas.LeftProperty, (double)UniversPlanets.GetValue(Canvas.LeftProperty) + (point.X - mouseOffset.X));
mouseOffset = point;
}
}
private void Univers_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
UniversPlanets.ReleaseMouseCapture();
isDragging = false;
}
private void Univers_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
isDragging = true;
mouseOffset = e.GetPosition(this);
UniversPlanets.CaptureMouse();
}
}
} |