or
<
Window
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
x:Class
=
"WpfApplication2.MainWindow"
x:Name
=
"Window"
Title
=
"MainWindow"
Width
=
"640"
Height
=
"480"
>
<
telerik:RadContextMenu.ContextMenu
>
<
telerik:RadContextMenu
ClickToOpen
=
"True"
InheritDataContext
=
"False"
>
<
telerik:RadContextMenu.Effect
>
<
DropShadowEffect
ShadowDepth
=
"3"
Opacity
=
"0.445"
RenderingBias
=
"Quality"
/>
</
telerik:RadContextMenu.Effect
>
<
telerik:RadMenuItem
Header
=
"Copy"
/>
<
telerik:RadMenuItem
Header
=
"Paste"
/>
<
telerik:RadMenuItem
Header
=
"Cut"
/>
<
telerik:RadMenuItem
IsSeparator
=
"True"
/>
<
telerik:RadMenuItem
Header
=
"Select All"
/>
</
telerik:RadContextMenu
>
</
telerik:RadContextMenu.ContextMenu
>
<
Grid
x:Name
=
"LayoutRoot"
>
<
telerik:RadContextMenu
Margin
=
"105,53,247,147"
ClickToOpen
=
"True"
InheritDataContext
=
"False"
>
<
telerik:RadContextMenu.Effect
>
<
DropShadowEffect
ShadowDepth
=
"3"
Opacity
=
"0.445"
RenderingBias
=
"Quality"
/>
</
telerik:RadContextMenu.Effect
>
<
telerik:RadMenuItem
Header
=
"Item 1"
>
<
telerik:RadMenuItem
Header
=
"Sub Item 1"
/>
<
telerik:RadMenuItem
Header
=
"Sub Item 2"
/>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Header
=
"Item 2"
>
<
telerik:RadMenuItem
Header
=
"Sub Item 3"
/>
<
telerik:RadMenuItem
Header
=
"Sub Item 4"
/>
<
telerik:RadMenuItem
Header
=
"Sub Item 5"
/>
</
telerik:RadMenuItem
>
</
telerik:RadContextMenu
>
</
Grid
>
</
Window
>
<
telerik:RadGridView
AutoExpandGroups
=
"True"
AutoGenerateColumns
=
"False"
CanUserDeleteRows
=
"False"
CanUserFreezeColumns
=
"False"
CanUserInsertRows
=
"False"
CanUserResizeColumns
=
"True"
CanUserSortColumns
=
"True"
EnableColumnVirtualization
=
"True"
EnableRowVirtualization
=
"True"
FontSize
=
"16"
FontWeight
=
"Bold"
IsReadOnly
=
"True"
MouseDoubleClick
=
"ReadsGrid_MouseDoubleClick"
Name
=
"ReadsGrid"
RowStyleSelector
=
"{StaticResource StyleSelector}"
SelectionChanged
=
"ReadsGrid_SelectionChanged"
SelectionUnit
=
"FullRow"
ScrollViewer.CanContentScroll
=
"True"
ScrollViewer.HorizontalScrollBarVisibility
=
"Auto"
ScrollViewer.VerticalScrollBarVisibility
=
"Auto"
ShowGroupFooters
=
"True"
ToolTip
=
"Matching Reads"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Plate, Mode=OneWay}"
Header
=
"Plate"
Width
=
"*"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding State, Mode=OneWay}"
Header
=
"State"
Width
=
"75"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding TimeStamp, Mode=OneWay, Converter={StaticResource DateConverter}}"
Header
=
"Date & Time"
Width
=
"175"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding GPSInformation.Position.Latitude, Converter={StaticResource CoordConverter}, ConverterParameter=NS}"
Header
=
"Latitude"
Width
=
"142"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding GPSInformation.Position.Longitude, Converter={StaticResource CoordConverter}, ConverterParameter=EW}"
Header
=
"Longitude"
Width
=
"142"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
private
void
ReadsGrid_MouseDoubleClick(
object
sender, MouseButtonEventArgs e ) {
if
( OkToSwitchToRecordDetails ) {
TabItem searchTabItem = (TabItem) Parent;
TabControl tabControl = (TabControl) searchTabItem.Parent;
TabItem recordDetailsTabItem = FindTab(
typeof
( EditRecordDetails ) );
recordDetailsTabItem.IsSelected =
true
;
}
e.Handled =
true
;
}
private
void
ReadsGrid_SelectionChanged(
object
sender, SelectionChangeEventArgs e ) {
ReadViewModel read = (ReadViewModel) ReadsGrid.SelectedItem;
ReadsGrid.ScrollIndexIntoView( ReadsGrid.Items.IndexOf( read ) );
HavePrevRecord = ReadsGrid.Items.IndexOf( read ) > 0;
HaveNextRecord = ReadsGrid.Items.IndexOf( read ) < ( Reads.Count - 1 );
RecordDetailsControl.DisplayRead( read );
e.Handled =
true
;
}
private
void
NextButton_Click(
object
sender, RoutedEventArgs e ) {
try
{
SearchControl.NextRecord( LastRecord );
}
catch
( ObjectNotFoundException ex ) {
string
msg = MessageGenerator.ExceptionMessage(
"Error getting next record: "
, ex );
Log.Error( msg );
CarSystemMessageBox.Show( msg,
"Error Getting Next Record"
);
}
// Mark event handled
e.Handled =
true
;
}
private
void
PrevButton_Click(
object
sender, RoutedEventArgs e ) {
try
{
SearchControl.PrevRecord( LastRecord );
}
catch
( ObjectNotFoundException ex ) {
string
msg = MessageGenerator.ExceptionMessage(
"Error getting next record: "
, ex );
Log.Error( msg );
CarSystemMessageBox.Show( msg,
"Error Getting Next Record"
);
}
// Mark event handled
e.Handled =
true
;
}
public
void
NextRecord( ReadViewModel read ) {
// Figure out the index of the last object in the ReadsGrid RadGridView's Items collection
int
lastObj = ReadsGrid.Items.Count - 1;
// Get the index of this object in the ReadsGrid's Items collection.
int
idxRead = ReadsGrid.Items.IndexOf( read );
// The next record is the next one in the ReadsGrid's Items collection, if there is one.
if
( idxRead < lastObj ) {
// Set HaveNextRecord and HavePrevRecord
HavePrevRecord =
true
;
HaveNextRecord = idxRead < lastObj;
// Select the next record.
read = ReadsGrid.Items[ idxRead + 1 ]
as
ReadViewModel;
}
else
{
// There isn't a next record. Set HaveNextRecord and HavePrevRecord
HaveNextRecord =
false
;
HavePrevRecord = idxRead > 0;
}
// Select the Read & scroll it into view
ReadsGrid.SelectedItem = read;
ReadsGrid.ScrollIntoView( read );
}
public
void
PrevRecord( ReadViewModel read ) {
// Declare some variables we will need to use
int
idxRead = -1;
// Get the index of this object in the ReportRows array.
idxRead = ReadsGrid.Items.IndexOf( read );
// The previous record is the previous one in the ReadsGrid's Items collection, if there is one.
if
( idxRead > 0 ) {
// Set HaveNextRecord and HavePrevRecord
HaveNextRecord =
true
;
HavePrevRecord = idxRead > 0;
// Select the next record.
read = ReadsGrid.Items[ idxRead - 1 ]
as
ReadViewModel;
}
else
{
// There isn't a previous record. Set HavePrevRecord to false and HaveNextRecord
HavePrevRecord =
false
;
HaveNextRecord = idxRead < ( ReadsGrid.Items.Count - 1 );
}
// Select the Read & scroll it into view
ReadsGrid.SelectedItem = read;
ReadsGrid.ScrollIntoView( read );
}