I am trying to lazy load a child grid that is embedded with a tab strip within the grid. I am unable to do it as I am unable to access the child grid object. I am also unable to do it using WPF binding. Please help as I have deadlines looming. Thanks.
Here is the xaml code.
Thanks.
<UserControl x:Class="CoE.VCS.WPF.Violations.Controls.SupervisorSearch"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:viewModels="clr-namespace:CoE.VCS.WPF.ViewModels"
mc:Ignorable="d"
SizeChanged="UserControl_SizeChanged" Loaded="UserControl_Loaded"
d:DesignWidth="1200" d:DesignHeight="500">
<UserControl.DataContext>
<viewModels:SupervisorSearchViewModel />
</UserControl.DataContext>
<UserControl.Resources>
<DataTemplate x:Key="TypeItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Description}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="OfficerItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding OperatorId}"/>
<TextBlock Text="{Binding OperatorLastName}"/>
<TextBlock Text=", "/>
<TextBlock Text="{Binding OperatorFirstName}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="SiteItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding SiteId}"/>
<TextBlock Text="{Binding LocationDescription}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="ReviewerItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding UserName}"/>
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<Grid x:Name="LayoutGrid">
<Grid.RowDefinitions >
<RowDefinition Height="25" />
<RowDefinition Height="180" />
<RowDefinition Height="*" />
<RowDefinition Height="55" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" HorizontalAlignment="Center" Style="{StaticResource ImportantTextBlock}">Search for Violation</TextBlock>
<Grid Grid.Column="0" Grid.Row="1" Name="SearchCriteria">
<Grid.ColumnDefinitions >
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="350"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions >
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0">Ticket Number:</Label>
<Label Grid.Column="0" Grid.Row="1">License Plate:</Label>
<Label Grid.Column="0" Grid.Row="2">First Name:</Label>
<Label Grid.Column="0" Grid.Row="3">Last/Company Name:</Label>
<TextBox Grid.Column="1" Grid.Row="0" Name="textBoxTicketNumber" ToolTip="Enter Ticket Number" HorizontalAlignment="Left" Width="100" />
<TextBox Grid.Column="1" Grid.Row="1" Name="textBoxLicensePlate" ToolTip="Enter License Plate" HorizontalAlignment="Left" Width="100" CharacterCasing="Upper" />
<TextBox Grid.Column="1" Grid.Row="2" Name="textBoxFirstName" ToolTip="Enter First Name" />
<TextBox Grid.Column="1" Grid.Row="3" Name="textBoxLastName" ToolTip="Enter Last Name or Company Name" />
<Label Grid.Column="2" Grid.Row="0">Reviewer:</Label>
<Label Grid.Column="2" Grid.Row="1">Site:</Label>
<Label Grid.Column="2" Grid.Row="2">Officer:</Label>
<Label Grid.Column="2" Grid.Row="3">Type:</Label>
<telerik:RadComboBox Grid.Column="3" Grid.Row="0" Name="ReviewerComboBox" ItemTemplate="{StaticResource ReviewerItemTemplate}" />
<telerik:RadComboBox Grid.Column="3" Grid.Row="1" Name="SiteComboBox" ItemTemplate="{StaticResource SiteItemTemplate}" />
<telerik:RadComboBox Grid.Column="3" Grid.Row="2" Name="OfficerComboBox" ItemTemplate="{StaticResource OfficerItemTemplate}" />
<telerik:RadComboBox Grid.Column="3" Grid.Row="3" Name="TypeComboBox" ItemTemplate="{StaticResource TypeItemTemplate}" />
<Label Grid.Column="4" Grid.Row="0">Start Date:</Label>
<Label Grid.Column="4" Grid.Row="1">End Date:</Label>
<telerik:RadDateTimePicker Grid.Column="5" Grid.Row="0" Name="ViolationDateStart" InputMode="DatePicker" Margin="4"/>
<telerik:RadDateTimePicker Grid.Column="5" Grid.Row="1" Name="ViolationDateEnd" InputMode="DatePicker" Margin="4"/>
<StackPanel Grid.Column="1" Grid.Row="4" Name="SearchCommands" Grid.ColumnSpan="2" HorizontalAlignment="Left">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="160" />
<ColumnDefinition Width="160" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<telerik:RadButton Name="buttonSearch" Margin="6,6,15,6" Click="ButtonSearchClick" IsDefault="True" >
<TextBlock TextWrapping="Wrap" TextAlignment="Center">Search for Violations</TextBlock>
</telerik:RadButton>
<telerik:RadButton Name="buttonClear" Margin="151,6,28,6" Click="ButtonClearClick" Grid.ColumnSpan="2">
<TextBlock TextWrapping="Wrap" TextAlignment="Center">Clear Search</TextBlock>
</telerik:RadButton>
</Grid>
</StackPanel>
</Grid>
<telerik:RadGridView Grid.Column="0" Grid.Row="2"
x:Name="SearchResultsGrid"
RowLoaded="SearchResultsGrid_RowLoaded"
ScrollViewer.VerticalScrollBarVisibility ="Visible"
RowIndicatorVisibility="Collapsed"
AutoGenerateColumns="False"
CanUserDeleteRows="False"
CanUserFreezeColumns="False"
CanUserInsertRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
SelectionMode="Multiple"
ShowGroupPanel="True"
ShowColumnHeaders="True"
SnapsToDevicePixels="True"
EnableRowVirtualization="True"
ItemsSource="{Binding Path=Results}"
Focusable="True"
IsReadOnly="True"
IsTabStop="False" RowDetailsVisibilityChanged="SearchResultsGrid_RowDetailsVisibilityChanged" RowIsExpandedChanged="SearchResultsGrid_RowIsExpandedChanged">
<telerik:RadGridView.Columns>
<telerik:GridViewToggleRowDetailsColumn />
<telerik:GridViewDataColumn x:Name="TicketNumber" DataMemberBinding="{Binding Path=TicketNumber}" Header="Ticket Number" Width="92" IsReadOnly="True" IsFilterable="False" />
<telerik:GridViewDataColumn x:Name="FirstName" DataMemberBinding="{Binding Path=FirstName}" Header="First Name" Width="100" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="LastName" DataMemberBinding="{Binding Path=LastName}" Header="Last/Company Name" Width="150" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ViolationType" DataMemberBinding="{Binding Path=ViolationType}" Header="Violation Type" Width="125" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ViolationDateTime" DataMemberBinding="{Binding Path=ViolationDateTime}" DataFormatString="{} {0:dd-MMM-yyyy HH:mm}" Header="Violation Date/Time" Width="145" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="State" DataMemberBinding="{Binding Path=ViolationState}" Header="Violation State" Width="120" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="Officer" DataMemberBinding="{Binding Path=Officer}" Header="Officer" Width="110" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="Site" DataMemberBinding="{Binding Path=Site}" Header="Site" Width="190" IsReadOnly="True" />
</telerik:RadGridView.Columns>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadTabControl BackgroundVisibility="Collapsed" x:Name="RadTabMain" Margin="8" VerticalAlignment="Center" Background="Transparent">
<telerik:RadTabItem Header="Details" Margin="0,0,0,0" Height="24">
<telerik:RadGridView x:Name="DetailsGrid" ItemsSource="{Binding Path=Details}" Height="300" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"
CanUserFreezeColumns="False" BorderThickness="0" CanUserResizeColumns="False"
ShowGroupPanel="False" BorderBrush="{x:Null}"
Margin="0" Width="744">
<telerik:RadGridView.Columns>
<telerik:GridViewSelectColumn IsGroupable="False" />
<telerik:GridViewDataColumn x:Name="TicketNumber" DataMemberBinding="{Binding Path=TicketNumber}" Header="Ticket Number" Width="150" IsReadOnly="True" IsFilterable="False" />
<telerik:GridViewDataColumn x:Name="ViolationType" DataMemberBinding="{Binding Path=ViolationType}" Header="Violation Type" Width="200" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ViolationDateTime" DataMemberBinding="{Binding Path=ViolationDateTime}" DataFormatString="{} {0:dd-MMM-yyyy HH:mm}" Header="Violation Date/Time" Width="150" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ViolationStatus" DataMemberBinding="{Binding Path=ViolationStatus}" Header="Violation Status" Width="200" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="SiteId" DataMemberBinding="{Binding Path=SiteId}" Header="Site Id" Width="100" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="FirstName" DataMemberBinding="{Binding Path=FirstName}" Header="First Name" Width="200" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="LastName" DataMemberBinding="{Binding Path=LastName}" Header="Last/Company Name" Width="300" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="SiteLocation" DataMemberBinding="{Binding Path=SiteLocation}" Header="Site Location" Width="300" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="SpeedLimit" DataMemberBinding="{Binding Path=SpeedLimit}" Header="Speed Limit" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="SpeedThreshold" DataMemberBinding="{Binding Path=SpeedThreshold}" Header="Speed Threshold" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="CapturedSpeed" DataMemberBinding="{Binding Path=CapturedSpeed}" Header="Captured Speed" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="FineAmount" DataMemberBinding="{Binding Path=FineAmount}" Header="Fine Amount" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="CourtDate" DataMemberBinding="{Binding Path=CourtDate}" DataFormatString="{} {0:dd-MMM-yyyy HH:mm}" Header="Court Date" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="IssueDate" DataMemberBinding="{Binding Path=IssueDate}" DataFormatString="{} {0:dd-MMM-yyyy HH:mm}" Header="Issue Date" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ModifiedDateTime" DataMemberBinding="{Binding Path=ModifiedDateTime}" DataFormatString="{} {0:dd-MMM-yyyy HH:mm}" Header="Modified Date/Time" Width="80" IsReadOnly="True" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</telerik:RadTabItem>
<telerik:RadTabItem Header="History" Height="24">
<telerik:RadGridView x:Name="ReviewGrid" Height="300" ItemsSource="{Binding Path=Reviews}" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"
CanUserFreezeColumns="False" BorderThickness="0" CanUserResizeColumns="False"
ShowGroupPanel="False" BorderBrush="{x:Null}"
Margin="0" Width="744">
<telerik:RadGridView.Columns>
<telerik:GridViewSelectColumn IsGroupable="False" />
<telerik:GridViewDataColumn x:Name="ReviewResult" DataMemberBinding="{Binding Path=ReviewResult}" Header="Review Result" Width="80" IsReadOnly="True" IsFilterable="False" />
<telerik:GridViewDataColumn x:Name="ViolationStatusReviewTime" DataMemberBinding="{Binding Path=ViolationStatus}" Header="Violation Status" Width="200" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ReviewedBy" DataMemberBinding="{Binding Path=ReviewedBy}" Header="Reviewed By" Width="200" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="ReviewedDateTime" DataMemberBinding="{Binding Path=ReviewedDateTime}" DataFormatString="{} {0:dd-MMM-yyyy HH:mm}" Header="Reviewed Date/Time" Width="80" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="PlateNumber" DataMemberBinding="{Binding Path=PlateNumber}" Header="Plate Number" Width="90" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="Province" DataMemberBinding="{Binding Path=Province}" Header="Province" Width="70" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="RejectionReasonCategory" DataMemberBinding="{Binding Path=RejectionReasonCategory}" Header="Rejection Reason Category" Width="120" IsReadOnly="True" />
<telerik:GridViewDataColumn x:Name="RejectionReason" DataMemberBinding="{Binding Path=RejectionReason}" Header="Rejection Reason" Width="120" IsReadOnly="True" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</telerik:RadTabItem>
<telerik:RadTabItem Header="Comments" Height="24">
</telerik:RadTabItem>
<telerik:RadTabItem Header="Actions" Height="24">
</telerik:RadTabItem>
</telerik:RadTabControl>
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
<StackPanel Grid.Column="0" Grid.Row="3" Name="ResultCommands">
<Grid>
<Grid.ColumnDefinitions >
<ColumnDefinition Width="146"/>
<ColumnDefinition Width="146"/>
<ColumnDefinition Width="146"/>
<ColumnDefinition Width="146"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions >
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<telerik:RadButton Grid.Column="0" Margin="0, 6, 0, 6" Width="130" HorizontalAlignment="Left" Name="buttonView" Click="ButtonViewClick">
<TextBlock TextWrapping="Wrap" TextAlignment="Center">View Selected Violations</TextBlock>
</telerik:RadButton>
<telerik:RadButton Grid.Column="1" Margin="0, 6, 0, 6" Width="130" HorizontalAlignment="Left" Name="buttonCourtPackage" Click="ButtonCourtpackagesClick">
<TextBlock TextWrapping="Wrap" TextAlignment="Center">Prepare Court Packages</TextBlock>
</telerik:RadButton>
<telerik:RadButton Grid.Column="2" Margin="0, 6, 0, 6" Width="130" HorizontalAlignment="Left" Name="buttonConvert" Click="ButtonConvertClick">
<TextBlock TextWrapping="Wrap" TextAlignment="Center">Convert</TextBlock>
</telerik:RadButton>
<telerik:RadButton Grid.Column="3" Margin="0, 6, 0, 6" Width="130" HorizontalAlignment="Left" Name="buttonServeTicket" Click="ButtonServeClick">
<TextBlock TextWrapping="Wrap" TextAlignment="Center">Ticket Served</TextBlock>
</telerik:RadButton>
<TextBlock Grid.Column="4" HorizontalAlignment="Right" Height="21" Name="NumberOfViolationsFound" >Number of Violations found:</TextBlock>
<TextBlock Grid.Column="5" Name="NumberOfViolationsFoundTextBlock" Style="{StaticResource BoldTextBlock}" Margin="25, 6, 0, 6" HorizontalAlignment="Left" Height="21"></TextBlock>
</Grid>
</StackPanel>
</Grid>
</UserControl >