in my wpf usercontrol, I have a RadGridView with a RowDetailsTemplate inside of it. The template contain a RadTabControl and a only one TabItem with nothning inside of or if you want, we can add a TextBlock inside of it, it doesn't matter.
When I see my grid, I have my column with the "+" sign, when I click on the sign, my app hang and after 1 or 2 minutes, my Visual Studio tell me that I fall in an infinite loop.
Juste the fact to remove the RadTabItem it solve the problem!!!
Here is the xaml of my control:
<UserControl x:Class="com.christiegrp.Neuron.ClientApplication.BillingGrid"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:helper="clr-namespace:com.christiegrp.Neuron.ClientApplication;assembly=ClientHelper"
Height="Auto" Width="Auto" Unloaded="UserControl_Unloaded">
<UserControl.Resources>
<ResourceDictionary>
<helper:HospitalDate x:Key="DConverter" />
<helper:HospitalTime x:Key="TConverter" />
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="BillingGrid-Fr-Res.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Resources;component/Neuron-Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<telerik:RadBusyIndicator Name="radBusyIndicator">
<Grid Height="Auto" Width="Auto" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- The following element is used to trigger an event allowing to replace the language resources before they are used. -->
<TextBlock Initialized="ReplaceLanguageResources"/>
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Name="Title1" HorizontalAlignment="Center" VerticalAlignment="Stretch" FontWeight="Bold" FontSize="16" TextWrapping="Wrap" Margin="5 5 5 0" Text="N/A"/>
<TextBlock Name="Title2" HorizontalAlignment="Center" VerticalAlignment="Stretch" FontWeight="Bold" FontSize="12" TextWrapping="Wrap" Margin="5 0 5 0" Text="N/A"/>
</StackPanel>
<WrapPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Left" Margin="5 0 5 5">
<telerik:RadButton CommandTarget="{Binding ElementName=radGridViewList}" Margin="0 5 0 0" Name="radButtonDatesRange" Click="radButtonDatesRange_Click" ToolTip="{Binding ElementName=Me, Path=DatesSelectionText}">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Calendar_32x32.png" Height="24" Width="24"/>
<TextBlock Margin="5" VerticalAlignment="Center" Text="{StaticResource Interval}" />
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=radGridViewList}" Margin="0 5 5 0" Name="radButtonUndoDatesRange" Click="radButtonUndoDatesRange_Click" ToolTip="{StaticResource ResetInterval}">
<StackPanel Orientation="Horizontal">
<Image Margin="0" Source="Resources/Undo_32x32.png" Height="24" Width="24"/>
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=radGridViewList}" Margin="0 5 5 0" Name="radButtonRefresh" Click="radButtonRefresh_Click">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Refresh_32x32.png" Height="24" Width="24"/>
<TextBlock Margin="5" VerticalAlignment="Center" Text="{StaticResource Refresh}" />
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=radGridViewList}" Margin="0 5 5 0" Name="radButtonPatientFile" Click="radButtonPatientFile_Click">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Patient_32x32.png" Height="24" Width="24" />
<TextBlock Margin="5" VerticalAlignment="Center" Text="{StaticResource PatientFile}" />
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=RadGridViewBilling}" Click="RadButton_Click" Tag="RebillStatementOfAccount" Margin="0 5 5 0">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Rebill_32x32.png" Height="24" Width="24" />
<TextBlock Name="textBlockRebill" Margin="5" VerticalAlignment="Center" Text="{StaticResource Rebill}" />
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=RadGridViewBilling}" Click="RadButton_Click" Tag="Conciliate" Margin="0 5 5 0">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Conciliate_32x32.png" Height="24" Width="24" />
<TextBlock Margin="5" VerticalAlignment="Center" Text="{StaticResource Conciliate}" />
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=RadGridViewBilling}" Click="RadButton_Click" Tag="SaveChanges" Margin="0 5 5 0">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Save_32x32.png" Height="24" Width="24" />
<TextBlock Margin="5" VerticalAlignment="Center" Text="{StaticResource Save}" />
</StackPanel>
</telerik:RadButton>
<telerik:RadButton CommandTarget="{Binding ElementName=RadGridViewBilling}" Click="RadButton_Click" Tag="CancelChanges" Margin="0 5 0 0">
<StackPanel Orientation="Horizontal">
<Image Margin="5 0 0 0" Source="Resources/Cancel_32x32.png" Height="24" Width="24" />
<TextBlock Margin="5" VerticalAlignment="Center" Text="{StaticResource Cancel}" />
</StackPanel>
</telerik:RadButton>
</WrapPanel>
<telerik:RadGridView Height="Auto" Width="Auto" x:Name="radGridViewBilling" Margin="5 0 5 5" Visibility="Visible" RowDetailsVisibilityMode="Collapsed"
RowIndicatorVisibility="Collapsed" IsReadOnly="True" AutoGenerateColumns="False" CanUserFreezeColumns="False" Grid.Row="2"
CanUserResizeColumns="True" SelectionMode="Extended" ShowColumnFooters="True">
<telerik:RadGridView.Columns>
<telerik:GridViewToggleRowDetailsColumn />
</telerik:RadGridView.Columns>
<telerik:RadGridView.RowStyle>
<Style TargetType="telerik:GridViewRow">
<Setter Property="MinHeight" Value="40"/>
</Style>
</telerik:RadGridView.RowStyle>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadTabControl x:Name="RadTabControl1" BackgroundVisibility="Collapsed" Margin="10" Background="Transparent">
<!--
<telerik:RadTabItem Header="{StaticResource Transactions}">
<telerik:RadGridView Height="Auto" Width="Auto" x:Name="radGridViewTransactions" AutoGenerateColumns="False"
CanUserFreezeColumns="False" BorderThickness="0" CanUserResizeColumns="False"
ShowGroupPanel="False"
Margin="0" IsReadOnly="True">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="No" DataMemberBinding="{Binding TransactionSequence}" />
<telerik:GridViewDataColumn Header="Date" DataMemberBinding="{Binding TransactionTimeStamp, Converter={StaticResource DConverter}}" />
<telerik:GridViewDataColumn Header="Heure" DataMemberBinding="{Binding TransactionTimeStamp, Converter={StaticResource TConverter}}" />
<telerik:GridViewDataColumn Header="Type" DataMemberBinding="{Binding TransactionType}" />
<telerik:GridViewDataColumn Header="Montant" DataMemberBinding="{Binding Amount}" TextAlignment="Right" DataFormatString = "{}{0:c2}" />
<telerik:GridViewDataColumn Header="Balance" DataMemberBinding="{Binding Balance}" TextAlignment="Right" DataFormatString = "{}{0:c2}" />
<telerik:GridViewDataColumn Header="Commentaire" DataMemberBinding="{Binding Comment}" Width="250" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</telerik:RadTabItem>
-->
<!--
<telerik:RadTabItem Header="{StaticResource Visit}">
<Grid Width="Auto" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Patient PHN:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="0" Grid.Column="0" />
<telerik:RadMaskedTextBox x:Name="VisitPatientPHN" Value="{Binding PHN}" EmptyContent="Entrer patient PHN" MaskType="None" ValueChanged="RadMaskedTextBox_ValueChanged" Margin="5" Grid.Row="0" Grid.Column="1"/>
<TextBlock Text="Nom:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="1" Grid.Column="0" />
<telerik:RadMaskedTextBox x:Name="VisitPatientName" Value="{Binding PatientName}" EmptyContent="Entrez nom patient" MaskType="None" ValueChanged="RadMaskedTextBox_ValueChanged" Margin="5" Grid.Row="1" Grid.Column="1"/>
<TextBlock Text="Province:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="2" Grid.Column="0" />
<TextBox Text="{Binding PatientProvince}" Margin="5" Grid.Row="2" Grid.Column="1" />
<TextBlock Text="Date visite:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="0" Grid.Column="3" />
<telerik:RadDatePicker x:Name="FromTimePicker" Margin="5" IsTooltipEnabled="False" SelectionChanged="FromTimePicker_SelectionChanged" DateTimeWatermarkContent="VisitDate" SelectedValue="{Binding VisitDate, Mode=TwoWay}" Grid.Row="0" Grid.Column="4" />
<TextBlock Text="Code diag:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="1" Grid.Column="3" />
<TextBox Text="{Binding DiagCode}" Margin="5" Grid.Row="1" Grid.Column="4" />
<TextBlock Text="Code exam:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="2" Grid.Column="3" />
<TextBox Text="{Binding ExamCode}" Margin="5" Grid.Row="2" Grid.Column="4" />
<TextBlock Text="Mnt soumis:" TextAlignment="Right" Margin="5" FontWeight="Bold" Grid.Row="3" Grid.Column="3" />
<telerik:RadMaskedTextBox x:Name="VisitAmountSubmitted" MaskType="Numeric" Mask="c" Value="{Binding AmountSubmitted}" EmptyContent="Entrer montant" Background="White" ValueChanged="RadMaskedTextBox_ValueChanged" Margin="5" Grid.Row="3" Grid.Column="4"/>
<TextBlock Text="Commentaire:" TextAlignment="Left" Margin="5" FontWeight="Bold" Grid.Row="4" Grid.Column="0" />
<TextBox Text="{Binding Comment}" Margin="5" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="4" />
</Grid>
</telerik:RadTabItem>
-->
<!--
<telerik:RadTabItem Header="{StaticResource ErrorsReport}">
<telerik:RadGridView Height="Auto" Width="Auto" x:Name="radGridViewErrorsReport" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"
CanUserFreezeColumns="False" BorderThickness="0" CanUserResizeColumns="False"
ShowGroupPanel="False"
Margin="0">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Nom fichier" DataMemberBinding="{Binding ReceivedFileName}" />
<telerik:GridViewDataColumn Header="Date" DataMemberBinding="{Binding CreationTime, Converter={StaticResource DConverter}}" />
<telerik:GridViewDataColumn Header="Heure" DataMemberBinding="{Binding CreationTime, Converter={StaticResource TConverter}}" />
<telerik:GridViewDataColumn Header="Message d'erreur" DataMemberBinding="{Binding ErrorMessage}" Width="250" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</telerik:RadTabItem>
-->
<!--
<telerik:RadTabItem Header="{StaticResource StatementOfAccount}">
<telerik:RadGridView Height="Auto" Width="Auto" x:Name="radGridViewStatementOfAccount" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"
CanUserFreezeColumns="False" BorderThickness="0" CanUserResizeColumns="False"
ShowGroupPanel="False"
Margin="0">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Nom fichier" DataMemberBinding="{Binding ReceivedFileName}" />
<telerik:GridViewDataColumn Header="Date" DataMemberBinding="{Binding CreationTime, Converter={StaticResource DConverter}}" />
<telerik:GridViewDataColumn Header="Heure" DataMemberBinding="{Binding CreationTime, Converter={StaticResource TConverter}}" />
<telerik:GridViewDataColumn Header="Montant soumis" DataMemberBinding="{Binding AmountSubmitted}" TextAlignment="Right" DataFormatString = "{}{0:c2}" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Montant payé" DataMemberBinding="{Binding AmountPaid}" TextAlignment="Right" DataFormatString = "{}{0:c2}" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Message d'erreur" DataMemberBinding="{Binding ErrorMessage}" Width="250" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</telerik:RadTabItem>
-->
<!--
<telerik:RadTabItem Header="{StaticResource RelatedBills}">
<TextBlock Text="Alain" />
<telerik:RadGridView Height="Auto" Width="Auto" x:Name="radGridViewRelatedBills" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"
CanUserFreezeColumns="False" BorderThickness="0" CanUserResizeColumns="False"
ShowGroupPanel="False"
Margin="0" />
</telerik:RadTabItem>
-->
<telerik:RadTabItem Header="Performance Chart" HorizontalContentAlignment="Stretch" HorizontalAlignment="Left">
</telerik:RadTabItem>
</telerik:RadTabControl>
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
</Grid>
</telerik:RadBusyIndicator>
</UserControl>
Thank's