diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 7abfac75..ab5540fc 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -97,6 +97,7 @@ App.xaml + diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs new file mode 100644 index 00000000..e425178e --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -0,0 +1,62 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 20.06.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Model.Campusmap +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using System.Threading.Tasks; + using System.Windows; + + + public class MapModel + { + + public MapModel() + { + } + + public string ImageSource { get; set; } + public double ImageWidth { get; set; } + public double ImageHeight { get; set; } + + public double MapOffsetX { get; set; } + public double MapOffsetY { get; set; } + + public Point RefPoint { get; set; } + + public Point GetMapPoint(double x, double y) + { + x += this.MapOffsetX; + y += this.MapOffsetY; + return new Point(x, y); + } + + public Point GetMapPoint(Point point) + { + + return this.GetMapPoint(point.X, point.Y); + } + + public Point GetMapFromRefPoint(Point point) + { + + return this.GetMapFromRefPoint(point.X, point.Y); + } + + public Point GetMapFromRefPoint(double x, double y) + { + x += this.RefPoint.X; + x += this.MapOffsetX; + y += this.RefPoint.Y; + y += this.MapOffsetY; + return new Point(x, y); + } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml index 3dec5811..def4011f 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml @@ -39,23 +39,25 @@ - + - - + + - + - - - + + + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index ca9aebd8..40f7e811 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -8,20 +8,39 @@ using System.Windows.Navigation; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using System.Windows.Media; +using CampusAppWP8.Model.Campusmap; namespace CampusAppWP8.Pages.Campusmap { public partial class CampusMapPage : PhoneApplicationPage { + private MapModel map; public CampusMapPage() { InitializeComponent(); - test.SetValue(H, 800); - + this.map = new MapModel() { ImageSource = "/Assets/testmap.png", ImageWidth = 2000, ImageHeight = 2000, MapOffsetX = -228, MapOffsetY = -300, RefPoint = new Point(1000, 1000) }; + this.MapCanvas.DataContext = map; } private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e) { + //test.ScrollToVerticalOffset(800); + } + + /// + /// Methods overrides the OnNavigatedTo-Method + /// + /// some NavigationEventArgs + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + } + + private void Button_Click(object sender, RoutedEventArgs e) + { + Point scrollPoint = map.GetMapFromRefPoint(0,0); + MapScroller.ScrollToVerticalOffset(scrollPoint.Y); + MapScroller.ScrollToHorizontalOffset(scrollPoint.X); } } } \ No newline at end of file