Hello,
Our app is extremely heavy with Telerik controls (we use it for just about everything in our UI). We've been getting complaints about the overall memory footprint of our app. Obviously most of that would likely be due to data and business logic, but we also were looking to do an analysis of all (Terlerik) controls being used to see if any are contributing factors. One of our designers mentioned that he feels the Telerik grid control is "very expensive" from a memory point of view - and we use it all over the place in our app, even in places where the stock WPF grid control may have been good enough.
Are there any utilities to track all the controls memory usage ?....or any ways to tap into the controls to find out the memory usage of each individually ?
Any suggestions would be appreciated.
Thanks,
Barry

Can i set the TreeListViewItem visibility to visible or hide, when i use the treelistiview in Virtualization model.
I want to use this method to search something,or may be another?
Hi.
When clicked crop item and then directly press save button, cropped image is saved.It seems cropped result image save.
What i want no cropping just save image. Please refer to the file for details.
How can i get uncropped image.
Please give me advise.
Thanks reading this post.

Hi Telerik support team,
I have a TabbedWindow with RadTabItems generated dynamically from code behind. In each RadTabItem, there is frame that I navigated to a Page.
The trouble is that: When a user drags a tab out of a host TabbedWindow, if the drop is inside a RadTabItem (I meant users just drag out the header and drop inside a tab), the tab is not dragging out. In plus, since this moment, all drag-out is not working even drop area is outside a tab.
Many thanks for your support
Here is my code in C#:
var newRadTab = new RadTabItem();newRadTab.HeaderTemplate = (DataTemplate)this.Resources["HeaderTemplate"];var frame = new Frame() { Name = "displayMainContent" };frame.NavigationUIVisibility = NavigationUIVisibility.Hidden;frame.ContextMenu = new ContextMenu() { Visibility = Visibility.Hidden };newRadTab.Content = frame;
And Xaml as below:
<telerik:RadTabbedWindow x:Class="WpfConcept.MainTabbedWindow" x:Name="radTabbedWindow" IsContentPreserved="False" xmlns:self="clr-namespace:WpfConcept" mc:Ignorable="d" PreviewTabClosed="OnWindowPreviewClosed" PreviewClosed="radTabbedWindow_PreviewClosed" MinWidth="380" MinHeight="260" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Loaded="OnWindowLoaded" Width="1800" Height="1000" Header="Concept Family Office v.8.0.1" ItemsSource="{Binding Data}" DisplayMemberPath="Header" AddButtonVisibility="Hidden">Hi,
I have a GridView with GridViewSelectColumn ,which have binded itemsource and seted selectionmode "Multiple".But the grid always have selected the fist value of itemsource and the selecteditem is same value.
My expectation is nothing selected,how to solve it.
Regards,
Guo
Hello,
I'm trying to implement GIF for my GridView but it isn't animated. Does GridView support GIFs?
My example:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:NotWorkingGif"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="NotWorkingGif.MainWindow"
mc:Ignorable="d"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Title="MainWindow" Height="450" Width="800">
<Grid>
<telerik:RadGridView ItemsSource="{Binding Collection}" AutoGenerateColumns="False">
<telerik:RadGridView.Columns>
<telerik:GridViewImageColumn DataMemberBinding="{Binding ImageUri}" Header="" ImageStretch="None" ImageHeight="16" ImageWidth="16" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</Grid>
</Window>
namespace NotWorkingGif
{
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows;
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public ObservableCollection<TestClass> Collection { get; set; } = new ObservableCollection<TestClass>();
public MainWindow()
{
InitializeComponent();
this.Collection.Add(new TestClass() { ImageUri = new Uri(@"path to GIF image") });
}
}
public class TestClass : INotifyPropertyChanged
{
private Uri imageUri;
public Uri ImageUri
{
get => imageUri;
set
{
imageUri = value;
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("ImageUri"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
}
Hello,
We are evaluating the PropertyGrid control and have a few questions.
1. When using Nested Properties, I am overriding ToString to display the child property values in the parent. However how do I get this string to update when the child properties are updated?
2. Is there a way to conditionally disable properties based on the values of other properties?
3. When using the Editor attribute with the EditorStyle.Modal option, is there a way to control the start position of the modal?
Thanks,
Hayley
When I create a PointSeries chart, the point's color is determined at moment the chart is showing. But I want the point's color changed with the datasource's some content after the chart was shown.
So I make a new PlotInfo class shown as below, and I set DefaultVisualMaterialSelector bind to PlotInfo's ColorFlag, with a Converter.
Finally, the project doesn't work, the point's color didn't change when I modify the ColorFlag.
So does ChartView3D support this kind of abbility? And how can I get what I want?
public class PlotInfo : INotifyPropertyChanged{ public event PropertyChangedEventHandler PropertyChanged; public double XValue { get; set; } public double YValue { get; set; } public string ZValue { get; set; } private string m_sColorFlag; public string ColorFlag { get { return m_sColorFlag;} set { m_sColorFlag = value; if(this.PropertyChanged != null) { PropertyChanged.Invoke(this, new PropertyChangedEventArgs("ColorFlag")); } } }}MainWindow.xaml
<Window x:Class="VariableMaterial.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:local="clr-namespace:VariableMaterial" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <local:ColorConvert x:Key="myColorConvert" /> </Window.Resources> <Grid> <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition /> </Grid.RowDefinitions> <ToolBar Grid.Row="0" Height="auto"> <Button Content="SetColorFlag=A" Click="ButtonA_Click" Margin="10,0,0,0"/> <Button Content="SetColorFlag=B" Click="ButtonB_Click" Margin="10,0,0,0"/> </ToolBar> <telerik:RadCartesianChart3D Grid.Row="1"> <telerik:RadCartesianChart3D.XAxis> <telerik:LinearAxis3D /> </telerik:RadCartesianChart3D.XAxis> <telerik:RadCartesianChart3D.YAxis> <telerik:LinearAxis3D /> </telerik:RadCartesianChart3D.YAxis> <telerik:RadCartesianChart3D.ZAxis> <telerik:CategoricalAxis3D /> </telerik:RadCartesianChart3D.ZAxis> <telerik:RadCartesianChart3D.Series> <telerik:PointSeries3D PointSize="100" DefaultVisualMaterialSelector="{Binding ColorFlag, Converter={StaticResource myColorConvert}}" XValueBinding="XValue" YValueBinding="YValue" ZValueBinding="ZValue" ItemsSource="{Binding}"/> </telerik:RadCartesianChart3D.Series> <telerik:RadCartesianChart3D.Grid> <telerik:CartesianChart3DGrid /> </telerik:RadCartesianChart3D.Grid> <telerik:RadCartesianChart3D.Behaviors> <telerik:Chart3DCameraBehavior /> </telerik:RadCartesianChart3D.Behaviors> </telerik:RadCartesianChart3D> </Grid></Window>
MainWindow.xaml.cs
using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Globalization;using System.Windows;using System.Windows.Data;using System.Windows.Media;using System.Windows.Media.Media3D;namespace VariableMaterial{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public ObservableCollection<PlotInfo> source = new ObservableCollection<PlotInfo>(); public MainWindow() { InitializeComponent(); PlotInfo info1 = new PlotInfo() { XValue = 1, YValue = 1, ZValue = "A", ColorFlag = "A", }; PlotInfo info2 = new PlotInfo() { XValue = 2, YValue = 2, ZValue = "B", ColorFlag = "B", }; source.Add(info1); source.Add(info2); this.DataContext = source; } private void ButtonA_Click(object sender, RoutedEventArgs e) { source[0].ColorFlag = "B"; } private void ButtonB_Click(object sender, RoutedEventArgs e) { source[1].ColorFlag = "A"; } } public class ColorConvert : IValueConverter { private Dictionary<Color, Material> colorToMaterialDict = new Dictionary<Color, Material>(); public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { string colorFlag = (string)value; Color color; if (colorFlag == "A") { color = (Color)ColorConverter.ConvertFromString("#007ACC"); } else { color = (Color)ColorConverter.ConvertFromString("#68217A"); } Material material; if (!this.colorToMaterialDict.TryGetValue(color, out material)) { material = new DiffuseMaterial(new SolidColorBrush(color)); colorToMaterialDict[color] = material; } return material; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }}