// Code to refetch image in map when zoom level is changed -Philippos // (WP8 Bing maps doesn't support zooming of attached map layers by default) private void map_ZoomLevelChanged(object sender, MapZoomLevelChangedEventArgs e) { double zoom = map.ZoomLevel; map.Layers.Clear(); MapLayer myLayer = new MapLayer(); MapOverlay myOverlay = new MapOverlay() { GeoCoordinate = new GeoCoordinate(35.144925, 33.410800) }; ExpanderView expander = new ExpanderView(); double Width = prevWidth * Math.Pow(2, zoom - prevZoom); expander.Header = new Image() { Source = new BitmapImage(new Uri("/images/2.png", UriKind.Relative)), Width = Width }; myOverlay.Content = expander; myLayer.Add(myOverlay); map.Layers.Add(myLayer); prevWidth = Width; prevZoom = zoom; }
private void Header2_Tap(object sender, System.Windows.Input.GestureEventArgs e) { ExpanderView exView = sender as ExpanderView; if (exView.IsExpanded) { exView.Expander = "Hide route options "; } else { exView.Expander = "Show route options "; } }
// On map tap set starting point - Philippos, Philokypros void map_Tap(object sender, System.Windows.Input.GestureEventArgs e) { System.Windows.Point p = e.GetPosition(map); GeoCoordinate s = map.ConvertViewportPointToGeoCoordinate(p); curLat = s.Latitude; curLon = s.Longitude; // Redraw map and image - Philippos map.Layers.Clear(); MapLayer myLayer = new MapLayer(); MapOverlay myOverlay = new MapOverlay() { GeoCoordinate = new GeoCoordinate(35.144925, 33.410800) }; ExpanderView expander = new ExpanderView(); expander.Header = new Image() { Source = new BitmapImage(new Uri("/images/2.png", UriKind.Relative)), Width = prevWidth }; myOverlay.Content = expander; myLayer.Add(myOverlay); // Draw start point - Philippos Polygon polygon = new Polygon(); polygon.Points.Add(new System.Windows.Point(0, 0)); polygon.Points.Add(new System.Windows.Point(0, 25)); polygon.Points.Add(new System.Windows.Point(25, 0)); polygon.Fill = new SolidColorBrush(Colors.Blue); polygon.Tag = new GeoCoordinate(curLat, curLon); MapOverlay overlay = new MapOverlay(); overlay.Content = polygon; overlay.GeoCoordinate = s; overlay.PositionOrigin = new System.Windows.Point(0.0, 1.0); myLayer.Add(overlay); map.Layers.Add(myLayer); }
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { FrameworkElement targetElement = values[0] as FrameworkElement; if (values[1] == null) { return(null); } ExpanderView view = (ExpanderView)values[1]; switch (view) { case ExpanderView.Animate: return((Style)targetElement.TryFindResource("AnimatedExpanderStyle")); case ExpanderView.Square: return((Style)targetElement.TryFindResource("SquareExpanderStyle")); } return(null); }
void MainPage_Loaded(object sender, RoutedEventArgs e) { // Insert Map - Philokypros map.Tap += map_Tap; MapLayer myLayer = new MapLayer(); MapOverlay myOverlay = new MapOverlay() { GeoCoordinate = new GeoCoordinate(35.144925, 33.410800) }; ExpanderView expander = new ExpanderView(); expander.Header = new Image() { Source = new BitmapImage(new Uri("/images/2.png", UriKind.Relative)), Width = prevWidth = initialWidth }; map.CartographicMode = MapCartographicMode.Hybrid; map.LandmarksEnabled = true; prevZoom = map.ZoomLevel = initialZoom; // Draw start point - Philippos Polygon polygon = new Polygon(); polygon.Points.Add(new System.Windows.Point(0, 0)); polygon.Points.Add(new System.Windows.Point(0, 25)); polygon.Points.Add(new System.Windows.Point(25, 0)); polygon.Fill = new SolidColorBrush(Colors.Blue); polygon.Tag = new GeoCoordinate(curLat, curLon); MapOverlay overlay = new MapOverlay(); overlay.Content = polygon; overlay.GeoCoordinate = new GeoCoordinate(curLat, curLon); overlay.PositionOrigin = new System.Windows.Point(0.0, 1.0); myLayer.Add(overlay); myOverlay.Content = expander; myLayer.Add(myOverlay); map.Layers.Add(myLayer); }
private void CreateItem(ExpanderView list, String groupName) { var transform = list.TransformToVisual(Application.Current.RootVisual); var pointOffset = transform.Transform(new Point(0, 0)); double verticalOffset = pointOffset.Y - 50; var createItem = new CreateItemControl() { GroupName = groupName }; SetPopupedControlEvent(createItem); createItem.Closed += delegate(object sender, PopupEventArgs e) { list.IsExpanded = true; if (verticalOffset > 0) { var storyboard2 = AnimationUtils.GetStoryboard(); AnimationUtils.SetHeightAnimation(storyboard2, VacancyStackPanel as FrameworkElement, 0, 0.3); storyboard2.Begin(); } if (e.Done)//Expand the new item { FrameworkElement item = list.Items[0] as FrameworkElement; if (item != null) { StackPanel panel = item.FindName("ItemPanel") as StackPanel; if (panel != null) { if (mCurrentItemPanel != null) { HideItemDetails(mCurrentItemPanel); } ShowItemDetails(panel); mCurrentItemPanel = panel; } } } }; if (verticalOffset == 0) { PopupWindow.ShowWindow(createItem); } else { var storyboard = AnimationUtils.GetStoryboard(); if (verticalOffset > 0) { AnimationUtils.SetHeightAnimation(storyboard, VacancyStackPanel as FrameworkElement, verticalOffset + 1000, 0.3); } AnimationUtils.SetAnyAnimation(storyboard, this as FrameworkElement, ScrowViewerVerticalOffsetProperty, MainScrollViewer.VerticalOffset, MainScrollViewer.VerticalOffset + verticalOffset, 0.3); storyboard.Completed += delegate(object sender, EventArgs e) { PopupWindow.ShowWindow(createItem); }; storyboard.Begin(); } }