Hi, I need a couple of text rendering features that I can't find in your docs, and precisely:
1. Character spacing (horizontally): a numeric parameter to modify the spacing between chars. This measure could be expressed in pixels, points, percentage or whatever, the effect is that the single letters on the same line will be shown with a different spacing in between.
2. Show text in uppercase: a boolean switch. If enabled the text is shown in uppercase. When switched off, text will show back in original case, as it was written by the user. For this reason, this parameter must not modify the underlying text, only render it as uppercase when activated.
Are these features already implemented (and I just couldn't find them) or are they missing?
Thanks in advance.

Hi,
Do you have a function to simplify a feature based on Geometry Algorithm ?
We need to reduce the number of points in polyline - line - polygon.
Thank you
I’m developing a service where I need to create a chart using only code behind. The chart will then be exported to a bitmap and inserted into a RadDocument.
My code is:
Grid grid = new Grid();grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });RadCartesianChart chart = new RadCartesianChart();chart.Grid = new CartesianChartGrid { MajorLinesVisibility = GridLineVisibility.Y, StripLinesVisibility = GridLineVisibility.Y };chart.HorizontalAxis = new CategoricalAxis { PlotMode = AxisPlotMode.BetweenTicks };chart.VerticalAxis = new LinearAxis { Minimum = 0, MajorTickLength = 5, Title = "Y axis title" };// create seriesfor (int i = 0; i < series.Count; i++){ LineSeries lineSeries = new LineSeries { Stroke = new SolidColorBrush(series[i].Color), LegendSettings = new SeriesLegendSettings { Title = series[i].Title } }; foreach (var value in series[i].Values) { lineSeries.DataPoints.Add(new CategoricalDataPoint { Category = value.X, Value = value.Y }); } chart.Series.Add(lineSeries);}RadLegend legend = new RadLegend { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom, Items = chart.LegendItems };string panelTemplate = @"<ItemsPanelTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">" + @"<StackPanel Orientation=""Horizontal""/>" + @"</ItemsPanelTemplate>";legend.ItemsPanel = (ItemsPanelTemplate)XamlReader.Parse(panelTemplate);chart.SetValue(Grid.RowProperty, 0);grid.Children.Add(chart);legend.SetValue(Grid.RowProperty, 1);grid.Children.Add(legend);Size chartSize = new Size(width, height);grid.Measure(chartSize);grid.Arrange(new Rect(new Point(0, 0), chartSize));grid.UpdateLayout();RenderTargetBitmap bitmapRender = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32);bitmapRender.Render(grid);var encoder = new PngBitmapEncoder();encoder.Frames.Add(BitmapFrame.Create(bitmapRender));encoder.Save(stream);If I set a breakpoint where the RadLegend is created, I can see that the series I’ve created have been added to chart.Series but chart.LegendItems is empty.
If I continue and export the chart to a bitmap I get an empty image.
All the code seems to be alright, what am I doing wrong?
I'm trying to create a custom filter for a RadGridView, but no matter what I do I get the following error.
The value "(CategoryList Contains Allergies)" is not of type "Telerik.Windows.Data.IFilterDescriptor" and cannot be used in this generic collection.Parameter name: value
The column that the filter is on contains a List<string> of possibly multiple category names in each row and the filter contains a distinct list of the categories.
001.public partial class CategoryFilter : UserControl, IFilteringControl002.{003. private GridViewBoundColumnBase _column;004. 005. public delegate void BeginCategoryChangeEvent();006. public event BeginCategoryChangeEvent BeginCategoryChange;007. 008. public delegate void CategoryChangeEvent();009. public event CategoryChangeEvent CategoryChange;010. private CompositeFilterDescriptor _compositeFilter;011. 012. 013. public class CategoryItem014. {015. public string CategoryName { get; set; }016. public bool IsChecked { get; set; }017. }018. 019. private List<CategoryItem> MainCategoryList;020. 021. /// <summary>022. /// Gets or sets a value indicating whether the filtering is active.023. /// </summary>024. public bool IsActive025. {026. get { return (bool)GetValue(IsActiveProperty); }027. set { SetValue(IsActiveProperty, value); }028. }029. 030. /// <summary>031. /// Identifies the <see cref="IsActive"/> dependency property.032. /// </summary>033. public static readonly DependencyProperty IsActiveProperty =034. DependencyProperty.Register(035. "IsActive",036. typeof(bool),037. typeof(CategoryFilter),038. new System.Windows.PropertyMetadata(false));039. 040. 041. 042. 043. public bool this[string CategoryName]044. {045. get046. {047. CategoryItem item = MainCategoryList.FirstOrDefault(i => i.CategoryName == CategoryName);048. 049. if (item == null)050. throw new Exception("Category Name not found");051. 052. return (item.IsChecked);053. }054. set055. {056. CategoryItem item = MainCategoryList.FirstOrDefault(i => i.CategoryName == CategoryName);057. 058. if (item == null)059. throw new Exception("Category Name not found");060. 061. item.IsChecked = value;062. }063. }064. 065. [TypeConverter(typeof(String))]066. public List<string> Categories067. {068. get069. {070. return MainCategoryList.Where(i => i.IsChecked).Select(i => i.CategoryName).ToList();071. }072. set073. {074. foreach (CategoryItem item in MainCategoryList)075. {076. item.IsChecked = value.Contains(item.CategoryName);077. }078. }079. }080. 081. public System.Windows.Controls.ListBox CategoryList082. {083. get { return this.LstCategories; }084. }085. 086. public CategoryFilter()087. {088. InitializeComponent();089. }090. 091. public void Prepare(GridViewColumn column)092. {093. this._column = column as GridViewBoundColumnBase;094. if (this._column == null)095. {096. return;097. }098. 099. List<string> catList = ((List<EducationChoices>)(column.DataControl.ItemsSource))100. .SelectMany(l => l.CategoryList)101. .Distinct()102. .Where(l => (l ?? "")103. .Trim() != "")104. .OrderBy(c => c)105. .ToList();106. 107. MainCategoryList = catList108. .Select(i => new CategoryItem() {CategoryName = i, IsChecked = false})109. .ToList();110. 111. LstCategories.ItemsSource = MainCategoryList;112. }113. 114. private void ChangeFilter(object sender, RoutedEventArgs e) {115. BeginCategoryChange();116. 117. if (_compositeFilter != null) {118. _column.DataControl.FilterDescriptors.Remove(_compositeFilter);119. }120. _compositeFilter = new CompositeFilterDescriptor { LogicalOperator = FilterCompositionLogicalOperator.Or };121. var dataMember = _column.DataMemberBinding.Path.Path;122. 123. string Category = ((CheckBox)e.OriginalSource).Tag.ToString();124. 125. foreach (var item in MainCategoryList) {126. if (item.IsChecked) {127. var filter = new FilterDescriptor(dataMember, FilterOperator.Contains, Category);128. _compositeFilter.FilterDescriptors.Add(filter);129. }130. }131. 132. if ((((CheckBox)e.OriginalSource).IsChecked ?? false) && 133. _compositeFilter.FilterDescriptors.All(f => ((FilterDescriptor)f).Value.ToString() != Category))134. {135. var filter = new FilterDescriptor(dataMember, FilterOperator.Contains, Category);136. _compositeFilter.FilterDescriptors.Add(filter);137. } else if (!(((CheckBox) e.OriginalSource).IsChecked ?? false) &&138. _compositeFilter.FilterDescriptors.Any(f => ((FilterDescriptor) f).Value.ToString() == Category))139. {140. _compositeFilter.FilterDescriptors.Remove(141. _compositeFilter.FilterDescriptors.FirstOrDefault(142. f => ((FilterDescriptor) f).Value.ToString() == Category));143. }144. 145. 146. if (!_column.DataControl.FilterDescriptors.Contains(_compositeFilter)) {147. _column.DataControl.FilterDescriptors.Add(_compositeFilter);148. }149. 150. this.IsActive = true;151. 152. CategoryChange();153. }154.}
I found this thread and tried to figure out what it was doing, but it didn't help.
I have a laptop with 1920 x 1080 resolution. When placing a RadScheduleView into a Grid (with this the only object in this user control), if I maximize the Window, the ScheduleView will not maximize to the full extents of the screen. However, if I press the Restore Down button on the screen to get the screen out of Maximize, and drag the screen to be as large as possible, the ScheduleView fills the entire screen. I would like the ScheduleView to fill the entire screen when I press the maximize button.
Any thoughts on this behavior?
Thanks,
HH

i don't want to apply default disable style while IsEnabled="False" .
after this i get unwanted gray background . how to disable this styles
Hi! I've just finished installation of Telerik DevTools and I'd like to begin to use it now. I have a WPF MVVM Catel application that I've begun to develop since February 1 of this year. I've added the next assemblies of Catel there: Catel.Core, Catel.Extensions.Controls, Catel.Fody.Attributes, Catel.MVVM. I'd like to use Telerik RadTabControl there. Can I use Telerik RadTabControl inside catel:Window that is the main window of my application?
1) Which Telerik assemblies should I add to my application for successful using of Telerik UI for WPF components and controls?
2) Which Telerik assemblies should I add to my application for successful using of Telerik visual styles for decorating UI appearance?
Hi,
Is there an option of binding IsSelected Property for the Tile In MVVM for each of the item in list that is binded to RadTileList Control/
I am using Autogenerating tiles for the RadTileList Control.
Thanks,
Sandeep Kumar Vidiyala
http://docs.telerik.com/devtools/wpf/api/html/e_telerik_windows_controls_radpropertygrid_preparededitor.htm , and also to the auto completed event handler that is being created with double Tab, this should have worked, but when I try that, I get the exception above.
It looks like it is actually expecting RadRoutedEventHandler (looking at the cast inside the code), but trying to create a function with event args of type RadRoutedEventArgs generage (as expected) a compilation error.
Is this event even useful for anything?