1: <UserControl x:Class="BingMapsOData.MainPage"
2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4: xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5: xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
6: xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7: xmlns:local="clr-namespace:BingMapsOData"
8: xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
9: xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
10: mc:Ignorable="d"
11: d:DesignHeight="300" d:DesignWidth="400">
12:
13: <UserControl.Resources>
14: <DataTemplate x:Key="DinnerTemplate">
15: <m:Pushpin Name="DinnerPushpin" m:MapLayer.Position="{Binding Location}" Content="{Binding Attendees}">
16: <i:Interaction.Triggers>
17: <i:EventTrigger EventName="MouseLeftButtonDown">
18: <local:ShowChildWindowAction ChildWindowType="BingMapsOData.DetailsChildWindow"/>
19: </i:EventTrigger>
20: </i:Interaction.Triggers>
21: <ToolTipService.ToolTip>
22: <StackPanel>
23: <StackPanel Margin="2" Orientation="Horizontal">
24: <Image Source="Images/dinner.png" Width="16" Height="16"/>
25: <TextBlock Text="{Binding Title}" Padding="2" FontWeight="Bold" TextWrapping="Wrap"/>
26: </StackPanel>
27: <TextBlock Text="{Binding Date}" Padding="2" Margin="2" TextWrapping="Wrap"/>
28: <TextBlock Text="{Binding Address}" Padding="2" Margin="2" TextWrapping="Wrap"/>
29: <TextBlock Text="Click Pushpin for details" Foreground="Gray" Padding="2" Margin="2" TextWrapping="Wrap"/>
30: </StackPanel>
31: </ToolTipService.ToolTip>
32: </m:Pushpin>
33: </DataTemplate>
34: </UserControl.Resources>
35:
36: <Grid x:Name="LayoutRoot" Background="Black">
37: <Grid.RowDefinitions>
38: <RowDefinition Height="40"/>
39: <RowDefinition Height="37"/>
40: <RowDefinition Height="*"/>
41: <RowDefinition Height="20"/>
42: </Grid.RowDefinitions>
43: <Grid.ColumnDefinitions>
44: <ColumnDefinition />
45: <ColumnDefinition Width="Auto" />
46: </Grid.ColumnDefinitions>
47:
48: <m:Map x:Name="dinnerMap"
49: Grid.Row="0" Grid.RowSpan="3"
50: Grid.Column="0" Grid.ColumnSpan="2"
51: CacheMode="BitmapCache"
52: CredentialsProvider="{StaticResource MyCredentials}"
53: Mode="AerialWithLabels"
54: NavigationVisibility="Collapsed">
55: <m:MapItemsControl x:Name="dinnerList"
56: ItemTemplate="{StaticResource DinnerTemplate}"
57: ItemsSource="{Binding Dinners}">
58: </m:MapItemsControl>
59: </m:Map>
60:
61: <StackPanel Grid.Row="0" Grid.Column="0" Background="Black" Opacity="0.8">
62: <StackPanel Orientation="Horizontal">
63: <TextBlock Text="Nerd Dinner Browser" FontSize="20" Padding="6" Foreground="White"/>
64: <TextBlock Text="{Binding Status}" FontSize="14" Padding="12" Foreground="LightGray" Name="txtStatus" >
65: <TextBlock.Triggers>
66: </TextBlock.Triggers>
67: </TextBlock>
68: </StackPanel>
69: </StackPanel>
70:
71: <StackPanel Grid.Row="1" Grid.Column="0">
72: <Border BorderThickness="1" BorderBrush="LightGray" Background="LightGray" CornerRadius="5" Padding="5" Margin="1">
73: <StackPanel Orientation="Horizontal">
74: <TextBlock Text="Dinners From " Padding="4"/>
75: <controls:DatePicker SelectedDate="{Binding From, Mode=TwoWay}" Name="dtFrom" Width="130"/>
76: <TextBlock Text=" To " Padding="4"/>
77: <controls:DatePicker SelectedDate="{Binding To, Mode=TwoWay}" Name="dtTo" Width="130"/>
78: <TextBlock Text=" Near " Padding="4"/>
79: <TextBox Name="txtPlace" ToolTipService.ToolTip="Optional, Leave blank for a high level view" Width="130"/>
80: <Button Name="SearchDinners" Click="SearchDinners_Click" Margin="1" Padding="3">
81: <StackPanel Orientation="Horizontal" >
82: <Image Source="Images/dinner.png" Width="16" Height="16"/>
83: <TextBlock Text=" Grab The Dinners "/>
84: </StackPanel>
85: </Button>
86: <TextBlock Width="6"/>
87: <StackPanel Background="Gray" Width="2" Margin="2"/>
88: </StackPanel>
89: </Border>
90: </StackPanel>
91:
92: <Canvas x:Name="cMiniMap"
93: Width="150"
94: Height="150"
95: HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Grid.Row="2" >
96: <m:Map x:Name="MiniMap"
97: CredentialsProvider="{StaticResource MyCredentials}"
98: CacheMode="BitmapCache"
99: Width="150"
100: Height="150"
101: Mode="Road"
102: NavigationVisibility="Collapsed"
103: ScaleVisibility="Collapsed"
104: LogoVisibility="Collapsed"
105: CopyrightVisibility="Collapsed" Foreground="{x:Null}">
106: <m:Map.Clip>
107: <EllipseGeometry RadiusX="69" RadiusY="69" Center="75,75" />
108: </m:Map.Clip>
109: </m:Map>
110: <Ellipse Width="150" Height="150" Stroke="#CC4C4C4C" StrokeThickness="6" Margin="0,0,0,0" CacheMode="BitmapCache" />
111: <Ellipse Height="10" Width="10" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="70,70,0,0" x:Name="ellipse" Fill="#CC205A5B" />
112: </Canvas>
113:
114: <Canvas x:Name="cNavControl"
115: Width="100"
116: HorizontalAlignment="Left"
117: VerticalAlignment="Top" Grid.Row="2" Margin="60,155,0,0" Grid.RowSpan="3" >
118: <StackPanel Width="50">
119: <Ellipse x:Name="ePan" Fill="#CC4C4C4C" Height="50" Canvas.ZIndex="1" Width="50"/>
120: <Path x:Name="pathMiniMap" Stretch="Fill" Stroke="#CCFFFFFF" Height="195" Margin="-50,-195,-50,0" UseLayoutRounding="False" Canvas.ZIndex="1" Data="M75,0.5 C116.14521,0.5 149.5,33.854782 149.5,75 C149.5,111.64496 123.04255,142.11044 88.187729,148.3364 L86.852966,148.55754 L87.70414,149.04695 C94.776031,153.34393 99.5,161.1203 99.5,170 C99.5,183.53098 88.530975,194.5 75,194.5 C61.469025,194.5 50.5,183.53098 50.5,170 C50.5,161.1203 55.223965,153.34393 62.29586,149.04695 L63.14703,148.55754 L61.812263,148.3364 C26.957447,142.11044 0.5,111.64496 0.5,75 C0.5,33.854782 33.854786,0.5 75,0.5 z"/>
121: <Grid x:Name="gridPan" Height="50" Margin="0,-50,0,0" Width="50" Canvas.ZIndex="1">
122: <Grid.RowDefinitions>
123: <RowDefinition Height="12"/>
124: <RowDefinition Height="26" />
125: <RowDefinition Height="12"/>
126: </Grid.RowDefinitions>
127: <Grid.ColumnDefinitions>
128: <ColumnDefinition Width="12" />
129: <ColumnDefinition Width="26" />
130: <ColumnDefinition Width="12"/>
131: </Grid.ColumnDefinitions>
132:
133: <Image Source="Images/PanUp.png" Stretch="Fill" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Top" Height="20" Margin="0,5,0,0" Width="34" MouseLeftButtonDown="PanMapUp"/>
134: <Image Source="Images/PanLeft.png" Stretch="Fill" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center" Width="20" Margin="5,0,0,0" Height="34" MouseLeftButtonDown="PanMapLeft"/>
135: <Image Source="Images/PanRight.png" Stretch="Fill" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Center" Width="20" Margin="0,0,5,0" Height="34" MouseLeftButtonDown="PanMapRight"/>
136: <Image Source="Images/PanDown.png" Stretch="Fill" Height="20" Margin="0,0,0,5" VerticalAlignment="Bottom" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" Width="34" MouseLeftButtonDown="PanMapDown"/>
137: </Grid>
138: <Border Margin="0,5,0,0" Width="15" Background="#CC4C4C4C" BorderThickness="1,1,1,0" BorderBrush="#CCFFFFFF" Height="15">
139: <TextBlock Foreground="White" HorizontalAlignment="Center" Text="+" MouseLeftButtonDown="ZoomIn" VerticalAlignment="Center"/>
140: </Border>
141: <Border Height="160" HorizontalAlignment="Center" Margin="0" Width="15" RenderTransformOrigin="0.5,0.5" BorderThickness="1" Background="#CC4C4C4C" BorderBrush="#CCFFFFFF">
142: <Slider x:Name="sldZoom" Orientation="Vertical" Maximum="21" Minimum="1" Height="150" Value="0" HorizontalAlignment="Center" Margin="0" SmallChange="1" BorderBrush="{x:Null}" BorderThickness="1" Width="15" Canvas.ZIndex="1" Foreground="{x:Null}" >
143: <i:Interaction.Behaviors>
144: <local:SnappingSlider/>
145: </i:Interaction.Behaviors>
146: </Slider>
147: </Border>
148: <Border Margin="0,0,0,5" Width="15" Background="#CC4C4C4C" BorderThickness="1,0,1,1" BorderBrush="#CCFFFFFF" Height="15">
149: <TextBlock Foreground="White" HorizontalAlignment="Center" Text="-" MouseLeftButtonDown="ZoomOut" VerticalAlignment="Center"/>
150: </Border>
151: <Border Margin="0" Width="50" Background="#CC4C4C4C" BorderThickness="1" BorderBrush="#CCFFFFFF">
152: <TextBlock Foreground="White" HorizontalAlignment="Center" Text="Road" MouseLeftButtonDown="MapStyleRoad" VerticalAlignment="Center"/>
153: </Border>
154: <Border Height="15" Margin="0" Width="50" Background="#CC4C4C4C" BorderThickness="1,0,1,1" BorderBrush="#CCFFFFFF">
155: <TextBlock Foreground="White" HorizontalAlignment="Center" Text="Aerial" MouseLeftButtonDown="MapStyleAerial" VerticalAlignment="Center"/>
156: </Border>
157: <Border Height="15" Margin="0" Width="50" Background="#CC4C4C4C" BorderThickness="1,0,1,1" BorderBrush="#CCFFFFFF">
158: <TextBlock Foreground="White" HorizontalAlignment="Center" Text="Hybrid" MouseLeftButtonDown="MapStyleHybrid" VerticalAlignment="Center"/>
159: </Border>
160: </StackPanel>
161: </Canvas>
162:
163: <StackPanel Orientation="Horizontal" Grid.Row="3" HorizontalAlignment="Center">
164: <HyperlinkButton NavigateUri="http://students.netindonesia.net/blogs/veri" Content="My Blog" TargetName="_blank" FontFamily="Verdana" FontSize="12" Foreground="#FFFFFFFF"/>
165: <TextBlock Foreground="White" Text="|"></TextBlock>
166: <HyperlinkButton NavigateUri="http://twitter.com/vferdiansyah" Content="Twitter" TargetName="_blank" FontFamily="Verdana" FontSize="12" Foreground="#FFFFFFFF"/>
167: <TextBlock Foreground="White" Text="|"></TextBlock>
168: <HyperlinkButton NavigateUri="http://www.facebook.com/verif" Content="Facebook" TargetName="_blank" FontFamily="Verdana" FontSize="12" Foreground="#FFFFFFFF"/>
169: <TextBlock Foreground="White" Text="|"></TextBlock>
170: <HyperlinkButton NavigateUri="http://www.linkedin.com/pub/veri-ferdiansyah/21/a14/593" Content="Linked In" TargetName="_blank" FontFamily="Verdana" FontSize="12" Foreground="#FFFFFFFF"/>
171: </StackPanel>
172: </Grid>
173: </UserControl>