I have a user control. My screen has a RadGridView, with a RowDetailsTemplate. Inside the Data Template of the RowDetailsTemplate there is a RadTabControl. My user control is on one of the tabs. When it is like this, I cannot reference the x:Name of that user control. If I move the whole RadTabControl outside of the RadGridView, I can reference the user control. It also works fine if I move the user control out of the RadGridView itself. So, it looks like the problem is that my code cannot find the user control, when it is inside a RadGridView RowDetailsTemplate.
Here is my xaml code and this is the line with my user control in it:
This is in the top declarations: xmlns:controls1="clr-namespace:MJS.Client.Controls"
This is the user control line that is down in the RadTabItem code: <controls1:AlertPerson x:Name="controlAlertPerson" />
Here is the RadGridView:
<StackPanel Grid.Column="0"
Orientation="Horizontal">
<telerik:RadGridView x:Name="Test1"
Width="1130"
MinHeight="25"
MaxWidth="1135"
MaxHeight="800"
Margin="4,4,4,4"
HorizontalAlignment="Right"
ItemsSource="{Binding SearchPersonCollection,
Mode=OneWay}"
RowActivated="rgvSearchPersonResults_RowActivated"
RowDetailsVisibilityChanged="rgvSearchPersonResults_RowDetailsVisibilityChanged"
RowDetailsVisibilityMode="Collapsed"
SelectedItem="{Binding Path=DataContext.SearchPersonSelected,
RelativeSource={RelativeSource FindAncestor,
AncestorType=telerik:RadBusyIndicator},
Mode=TwoWay}"
ShowGroupPanel="True"
Style="{StaticResource RadGridViewStandard}">
<telerik:RadGridView.SortDescriptors>
<telerik:SortDescriptor Member="FormattedName"
SortDirection="Ascending" />
</telerik:RadGridView.SortDescriptors>
<telerik:RadGridView.Columns>
<telerik:GridViewToggleRowDetailsColumn ExpandMode="Single"
ToggleButtonStyle="{StaticResource GridViewToggleButtonStyle}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Source}"
Header="Source"
IsReadOnly="True" />
<telerik:GridViewImageColumn DataMemberBinding="{Binding PersonPhotograph,
Converter={StaticResource imageConverter}}"
Header="Photo"
ImageHeight="40"
ImageStretch="UniformToFill"
ImageWidth="40"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding FormattedNameWithAlias}"
Header="Name"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding FormattedAddress}"
Header="Address"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataFormatString="{} {0:MM/dd/yyyy}"
DataMemberBinding="{Binding ClientDateofBirth}"
Header="Date Of Birth"
IsReadOnly="True"
UniqueName="DateOfBirth" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding ClientAge}"
Header="Age"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding ClientSexCode}"
Header="Sex"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding ClientRaceDescription}"
Header="Race"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding FormattedIdentification}"
Header="Identification"
IsReadOnly="True" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding FormattedTelephoneDisplay}"
Header="Phone"
IsReadOnly="True" />
</telerik:RadGridView.Columns>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SearchPersonSelectionChangedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadTabControl x:Name="Test2"
Margin="5,5,5,5"
HorizontalAlignment="Left"
VerticalAlignment="Center">
<telerik:RadTabItem x:Name="Test21"
Header="Alerts">
<StackPanel Margin="5,5,5,5">
<controls1:AlertPerson x:Name="controlAlertPerson" />
</StackPanel>
</telerik:RadTabItem>
<telerik:RadTabItem x:Name="Test22"
Header="Addresses">
<StackPanel Margin="5,5,5,5">
<telerik:RadGridView MaxWidth="1130"
BorderBrush="{x:Null}"
BorderThickness="0"
CanUserSelect="True"
Foreground="Black"
ItemsSource="{Binding AddressDetail,
Mode=OneWay}"
Style="{StaticResource RadGridViewStandard}">
<telerik:RadGridView.Resources>
<Style x:Key="GridViewToggleButtonColumnStyle"
TargetType="telerik:GridViewCell">
<Setter Property="Padding" Value="0,0,0,0" />
</Style>
</telerik:RadGridView.Resources>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Address1}"
Header="Street Addresss" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Address2}"
Header="Apartment/Suite" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding CityCityName}"
Header="City" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding ForeignCity}"
Header="Foreign City" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding StateCode}"
Header="State" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding ForeignState}"
Header="Foreign State" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding PostalCode}"
Header="Zip Code" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding CountryCountryName}"
Header="Country" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding IsCurrent}"
Header="Current" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</StackPanel>
</telerik:RadTabItem>
<telerik:RadTabItem x:Name="Test23"
Header="Identifications">
<StackPanel Margin="5,5,5,5">
<telerik:RadGridView MaxWidth="1130"
BorderBrush="{x:Null}"
BorderThickness="0"
CanUserSelect="True"
Foreground="Black"
ItemsSource="{Binding IdentificationDetail,
Mode=OneWay}"
Style="{StaticResource RadGridViewStandard}">
<telerik:RadGridView.Resources>
<Style x:Key="GridViewToggleButtonColumnStyle"
TargetType="telerik:GridViewCell">
<Setter Property="Padding" Value="0,0,0,0" />
</Style>
</telerik:RadGridView.Resources>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Number}"
Header="Identification Number" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding IdentificationType}"
Header="Identification Type" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding StateCode}"
Header="State" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding CountryCode}"
Header="Country" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding IsRevoked}"
Header="Revoked" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding UpdateDate}"
Header="Last Update" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</StackPanel>
</telerik:RadTabItem>
</telerik:RadTabControl>
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
</StackPanel>