-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainWindow.xaml
120 lines (114 loc) · 6.24 KB
/
MainWindow.xaml
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<Window xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:MapControl_SearchPanel"
xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map"
x:Class="MapControl_SearchPanel.MainWindow"
Title="MainWindow" Height="600" Width="800">
<Window.Resources>
<sys:String x:Key="bingKey">YOUR BING KEY HERE!</sys:String>
<!--region #DistanceUnits-->
<ObjectDataProvider x:Key="distanceUnits"
ObjectType="{x:Type sys:Enum}" MethodName="GetValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="dxm:DistanceMeasureUnit"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<!--endregion #DistanceUnits-->
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<dxm:MapControl Grid.Column="0">
<dxm:ImageTilesLayer>
<dxm:ImageTilesLayer.DataProvider>
<dxm:BingMapDataProvider BingKey="{Binding Source={StaticResource bingKey}}"/>
</dxm:ImageTilesLayer.DataProvider>
</dxm:ImageTilesLayer>
<dxm:InformationLayer >
<!--region #SearchProvider-->
<dxm:InformationLayer.DataProvider>
<dxm:BingSearchDataProvider x:Name="searchProvider"
ShowSearchPanel="False"
BingKey="{Binding Source={StaticResource bingKey}}"
SearchCompleted="searchProvider_SearchCompleted">
<dxm:BingSearchDataProvider.SearchOptions>
<dxm:BingSearchOptions x:Name="options"
AutocorrectQuery="{Binding ElementName=cbAutocorrect, Path=IsChecked}"
DistanceUnit="{Binding ElementName=lbDistanceUnits, Path=SelectedValue}"
ResultsCount="{Binding ElementName=tbCount, Path=Value}">
</dxm:BingSearchOptions>
</dxm:BingSearchDataProvider.SearchOptions>
</dxm:BingSearchDataProvider>
</dxm:InformationLayer.DataProvider>
<!--endregion #SearchProvider-->
</dxm:InformationLayer>
</dxm:MapControl>
<Grid Grid.Column="1" Grid.IsSharedSizeScope="True"
Validation.Error="ValidationError">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Header="Search parameters" Margin="4"
Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Labels"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Margin="4,4,2,2">Location:</Label>
<TextBox Name="tbLocation" Grid.Row="0" Grid.Column="1" Margin="2,4,4,2" Padding="4"></TextBox>
</Grid>
</GroupBox>
<GroupBox Header="Search options" Margin="4"
Grid.Row="1">
<StackPanel Orientation="Vertical">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Labels"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!--region #SearchRadius-->
<!--endregion #SearchRadius-->
<Label Grid.Row="1" Grid.Column="0" Margin="4,2,2,2">Results Count:</Label>
<!--region #ResultsCount-->
<TextBox Name="tbCount" Grid.Row="1" Grid.Column="1" Margin="2,2,4,2" Padding="4">
<TextBox.Text>
<Binding NotifyOnValidationError="True" Path="ResultsCount" ElementName="options" Mode="TwoWay">
<Binding.ValidationRules>
<local:NonNegativeIntValidationRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
<!--endregion #ResultsCount-->
</Grid>
<CheckBox Name="cbAutocorrect" IsChecked="True" Margin="4,2,4,2">Autocorrect Query</CheckBox>
<!--region #DistanceUnitsList-->
<!--endregion #DistanceUnitsList-->
</StackPanel>
</GroupBox>
<!--region #SearchButton-->
<Button Grid.Row="2" Margin="4" Click="bSearch_Click">Search</Button>
<!--endregion #SearchButton-->
<GroupBox Grid.Row="3" Header="Search Result" Margin="4">
<ScrollViewer Margin="4" HorizontalScrollBarVisibility="Auto" >
<TextBlock Name="tbSearchResult" Padding="4"/>
</ScrollViewer>
</GroupBox>
</Grid>
</Grid>
</Window>