Hi,
I have encountered a performance issue when adding gridView inside RadTileItem.
CPU starts spinning and process starts to consume lots of memory, until it reaches 2GBs and eventually crashes.
Attached is a snippet from a demo application which presents a standalone gridview performance (which works fine), and the same gridview inside RadTileItem.
XAML:
Code Behind:
Thank you very much,
Ruben.
I have encountered a performance issue when adding gridView inside RadTileItem.
CPU starts spinning and process starts to consume lots of memory, until it reaches 2GBs and eventually crashes.
Attached is a snippet from a demo application which presents a standalone gridview performance (which works fine), and the same gridview inside RadTileItem.
XAML:
| <telerik:RadTileView Grid.Row="1"> |
| <telerik:RadTileViewItem Header="ABC"> |
| <telerik:RadFluidContentControl> |
| <telerik:RadFluidContentControl.Content> |
| <TextBlock Text="Maximize this tile." /> |
| </telerik:RadFluidContentControl.Content> |
| <telerik:RadFluidContentControl.SmallContent> |
| <TextBlock Text="Maximize this tile." /> |
| </telerik:RadFluidContentControl.SmallContent> |
| <telerik:RadFluidContentControl.LargeContent> |
| <Grid> |
| <Grid.RowDefinitions> |
| <RowDefinition Height="Auto" /> |
| <RowDefinition /> |
| </Grid.RowDefinitions> |
| <Button Height="20" Content="Generate" Click="Button_Click" /> |
| <telerik:RadGridView Name="telerikGrid" Grid.Row="1" |
| ItemsSource="{Binding Persons, Mode=OneWay}" |
| IsReadOnly="True" |
| AutoGenerateColumns="False"> |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=ID, Mode=OneWay}" Header="ID" IsGroupable="False" IsFilterable="False" /> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Name, Mode=OneWay}" Header="Name" IsGroupable="False" IsFilterable="False" /> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
| </Grid> |
| </telerik:RadFluidContentControl.LargeContent> |
| </telerik:RadFluidContentControl> |
| </telerik:RadTileViewItem> |
| </telerik:RadTileView> |
Code Behind:
| public partial class GridControl : UserControl |
| { |
| public GridControl() |
| { |
| InitializeComponent(); |
| this.DataContext = new ViewModel(); |
| } |
| private void Button_Click(object sender, RoutedEventArgs e) |
| { |
| var list = new List<Person>(); |
| for (int i = 0; i < 10000; i++) |
| { |
| list.Add(new Person(i, "abc")); |
| } |
| (this.DataContext as ViewModel).Persons = list; |
| } |
| } |
| public class ViewModel : INotifyPropertyChanged |
| { |
| private List<Person> _persons = null; |
| public List<Person> Persons |
| { |
| get { return _persons; } |
| set { _persons = value; OnPropertyChanged("Persons"); } |
| } |
| #region INotifyPropertyChanged Members |
| public event PropertyChangedEventHandler PropertyChanged; |
| private void OnPropertyChanged(string propertyName) |
| { |
| if (PropertyChanged != null) |
| PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); |
| } |
| #endregion |
| } |
| public class Person |
| { |
| private int _id; |
| private string _name; |
| public Person(int id, string name) |
| { |
| _id = id; |
| _name = name; |
| } |
| public int ID |
| { |
| get { return _id; } |
| } |
| public string Name |
| { |
| get { return _name; } |
| } |
| } |
Thank you very much,
Ruben.

