Hello,
I followed your solution on this link to apply a string format on the Header of the column in the RadGridView:
https://www.telerik.com/forums/stringformat-not-working-for-gridviewdatacolumn-header
With this solution, if the bound property has a value "test", in the TextBlock.Text inside the header I will show "test 123" ("123" came from the StringFormat).
This solution works but I face a bug when I use it with another functionality. I have implemented a button that on click opens a ListBox on a ContextMenu to show/hide the RadGridViewColumns). See the following link:
https://www.telerik.com/forums/add-button-to-radgridview-column-header
The RadGridView.Columns are bound to the ListBox.
The ListBoxItem.Template has a Checkbox where the IsChecked property is bound to the Column visibility state and the Content property is bound to the Column header.
If the Listbox is shown (by click on a button, the ListBox is displayed on a ContextMenu), the Header template is dissapeared from the GridViewDataColumn.Header and it is shown on the ListBoxItem. It likes the template is "moved".
If I put the DataTemplate on a resource with x:Shared=False then it still dissapears from the header and it appears twice on the ListBoxItem.
Note:
1. I tried to use the Header without a DataTemplate but I can't use a converter to append the "123" because I already have one converter that can't have other functionality.
2. My current workaround is to do the converter code and the text append on the code behind of the xaml. Then I can bind the xaml.cs String property to the GridViewDataColumn.Header and remove the DataTemplate. The problem with this solution is that I need to do this on each xaml, and cannot be set on a style. In addition, I don't want to use code behind at all.
3. Any workaround without using the DataTemplate will work for me. I can "live" with that problem if you help me solving this specific case because I usually don't use DataTemplates on headers at all.
4. If you can look at your code, I would appreciate if you can think how the DataTemplate is dissapeared. I think that you have a bug somewhere because a Binding should not remove a Template from your control.
The bug is the same as described in this post (screenshot attached)
https://www.telerik.com/forums/gridview-columns-headers-disappearing-after-binding-to-controlpanel
I need a workaround to display the complete text without DataTemplate, because the solution here of adding DataTemplate for all columns of the application is not aceptable. Maybe there is a way to trigger the Context on the ListBoxItem and changed the binding according to the content type?
Thank you,
Alex.

Hello,
I have RadRibbonTab that I am binding an item source to. This item source contains a GroupName as well as a list of other items that can be used to create RadRibbonButtons. My problem is that I am seeing an extra separator after each RadRibbonGroup and I'm not sure why. If I try to create my own template for the RadRibbonGroup this extra separator goes away but I'd prefer to not have to do this. I've attached an image of what I'm seeing. What suggestions are there to get rid of this separator?
Here is the xaml in question:
<telerik:RadRibbonTab Header="Dynamic Display" x:Name="DisplayMenu" ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:RibbonViewContainer}}, Path=DisplayList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<telerik:RadRibbonGroup Header="Test Header" ItemsSource="{Binding List}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<telerik:RadRibbonButton Size="{Binding Size}"
Text="Test Text"
Command="{Binding}"
CommandParameter="{Binding Text}"
LargeImage="{Binding Image}"
ToolTip="{Binding Tooltip}"
ClickMode="Press"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</telerik:RadRibbonGroup>
</DataTemplate>
</ItemsControl.ItemTemplate>
</telerik:RadRibbonTab>Hi everybody.
Does Anyone have any idea why the Radgridview is much faster when run the app through Visual Studio? it's much slower when run the app locally specially when scrolling with large amount of data.
Thanks

I'm using the RadSlider control to display a RangeSliderThumb (to define a range of values) and a regular SliderThumb (to define one value within that range). To be able to differentiate the regular SliderThumb i applied some style to it.
We are using PRISM and i noticed the style of the regular SliderThumb is reset when i navigate to the page a second time. None of the other styles are affected by navigating to the page multiple times.
I've attached a project with a stripped down version of my problem. Pressing the buttons navigates to the respective pages.
Screenshot after first navigation (style is applied as expected):
Screenshot after second navigation (style of regular SliderThumb is reset):
Any ideas on how to fix that behavior?
Greetings
Josh

Hi,
i have two database models:
public class LogOrder
{
[Key]
public long Id { get; set; }
public string Name { get; set; }
...
[Display(AutoGenerateField = false)]
[InverseProperty(nameof(LogOrderUpdate.Order))]
public virtual ICollection<LogOrderUpdate> Updates { get; set; }
#region View
[Display(AutoGenerateField = false)]
public LogOrderUpdate LastUpdate
{
get
{
if (Updates != null && Updates.Any())
{
return Updates.MaxBy(x => x.Time);
}
return null;
}
}
#endregion
ctor ...
}public class LogOrderUpdate : IEntity
{
[Key]
public long Id { get; set; }
public DateTime Time { get; set; }
...
}used in a ViewModel
private QueryableEntityCoreCollectionView<LogOrder> entityCollectionView;
public QueryableEntityCoreCollectionView<LogOrder> EntityCollectionView
{
get { return entityCollectionView; }
set
{
this.entityCollectionView = value;
this.OnPropertyChanged(nameof(EntityCollectionView));
}
}
private readonly LogOrderContext objectContext;
public ViewModel()
{
objectContext = new LogOrderContext();
entityCollectionView = new QueryableEntityCoreCollectionView<LogOrder>(objectContext, objectContext.LogOrders, new Collection<string>() { nameof(LogOrder.Updates) } );
}shown in xaml
<telerik:RadGridView
AutoGenerateColumns="False"
ItemsSource="{Binding EntityCollectionView}"
IsReadOnly="True"
Name="LogOrderGrid">
<b:Interaction.Behaviors>
<behaviors:RadGridLayoutBehavior />
</b:Interaction.Behaviors>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Id" UniqueName="Id" DataMemberBinding="{Binding Path=Id}"/>
<telerik:GridViewDataColumn Header="Name" UniqueName="Name" DataMemberBinding="{Binding Path=Name}"/>
<telerik:GridViewDataColumn Header="Time" UniqueName="LastUpdateTime" DataMemberBinding="{Binding Path=LastUpdate.Time}"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>Everything works as expected
But when I try to sort or filter the grid i get a System.InvalidOperationException
System.InvalidOperationException: 'The LINQ expression 'DbSet<LogOrder>()
.OrderBy(l => l.LastUpdate.Time)' could not be translated. Additional information: Translation of member 'LastUpdate' on entity type 'LogOrder' failed. This commonly occurs when the specified member is unmapped. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to 'AsEnumerable', 'AsAsyncEnumerable', 'ToList', or 'ToListAsync'. See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.'
It tries to query the "non database" property directly from the database -> .OrderBy(l => l.LastUpdate.Time)'
and the grid gets empty
I know combining db model and view properties are not a good approach but with the QueryableEntityCoreCollectionView I have to!?
Is there any annotation for those properties like [NonDbProperty] i can control this behavior?
Or is my approach completely wrong?
thank you in advance,
Marco
Hello
I have a RadCartesianChart with two LineSeries, one of the series is populated with a list of categories and values and the other is loads its categories based on a timer. Every time the timer ticks, a new category and value is added to the green line series.
Let me show you a screenshot.
I know exactly what are the categories and values for the grey line. The chart is loaded with them and that works well.
But the green line series ends up in the wrong place as I add new categories that were not there in first place. I wish that in the example above the categories could be 1 ... 2 ... 3 ...
Do I need to sort it? But how?
Here's my code example:
<Window
x:Class="Telerik.Question.Charts.MainWindow"
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:telerik="http://schemas.telerik.com/2008/xaml/presentation"
Title="MainWindow"
Width="1200"
Height="450"
mc:Ignorable="d">
<Grid>
<telerik:RadCartesianChart
x:Name="chart"
Width="1050"
Height="176">
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:CategoricalAxis
LineThickness="0"
MajorTickLength="0"
SmartLabelsMode="SmartStep"
TickThickness="0" />
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:LinearAxis
LineThickness="0"
MajorTickLength="30"
TickThickness="0" />
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.Series>
<telerik:LineSeries
x:Name="scriptSeries"
Stroke="#525E68"
StrokeThickness="4" />
<telerik:LineSeries
x:Name="scriptChangesSeries"
Stroke="#07D19C"
StrokeThickness="4">
<telerik:LineSeries.Resources>
<DataTemplate x:Key="lastPointTemplate">
<Ellipse
Width="32"
Height="32"
Fill="White"
Stroke="#07D19C"
StrokeThickness="11" />
</DataTemplate>
</telerik:LineSeries.Resources>
</telerik:LineSeries>
</telerik:RadCartesianChart.Series>
</telerik:RadCartesianChart>
</Grid>
</Window>
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Timers;
using System.Windows;
using Telerik.Windows.Controls.ChartView;
namespace Telerik.Question.Charts
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
scriptSeries.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Category" };
scriptSeries.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" };
scriptSeries.ItemsSource = new List<ChartDataObject>()
{
new ChartDataObject(2, 4 ),
new ChartDataObject(2, 4 ),
new ChartDataObject(2, 8 ),
new ChartDataObject(4, 8 ),
new ChartDataObject(4, 4 ),
new ChartDataObject(6, 4 ),
new ChartDataObject(6, 8 ),
new ChartDataObject(9, 8 ),
new ChartDataObject(9, 10 ),
new ChartDataObject(11, 10 ),
new ChartDataObject(11, 4 ),
new ChartDataObject(12, 4 ),
new ChartDataObject(12, 18 ),
new ChartDataObject(14, 18 ),
};
var scriptChangesSeriesDataSource = new ObservableCollection<ChartDataObject>();
scriptChangesSeries.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Category" };
scriptChangesSeries.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" };
scriptChangesSeries.ItemsSource = scriptChangesSeriesDataSource;
var timer = new Timer
{
Interval = 1000
};
var i = 0d;
timer.Elapsed += (e, a) =>
{
i += 1;
scriptChangesSeriesDataSource.Add(new ChartDataObject(i, 5));
};
timer.Start();
}
}
public class ChartDataObject
{
public ChartDataObject(double category, double value)
{
Category = category;
Value = value;
}
public double Category { get; set; }
public double Value { get; set; }
}
}
What do I need to do to achieve that?
Thanks!
Hi,
I'm looking for some advice on the best control to use for user input of a single element, though drag&drop , that also has data validation display.
I have used it on RadListBox, RadGridView and RadTreeView but in this case I do not have a collection to fill.
I would like for the control to bind to a single property of type Foo and use the DragDropManager / BeahviorManager / PayloadManager to control what can be dragged / dropped onto the control so that the bound variable is updated.
I would also like for the control to display any validation error through INotifyDataErrorInfo
I would appreciate any suggestions.
Thank you for your help.

Hello,
I'm currently using a RadSyntaxEditor for user text inputs. The problem I'm facing happens when a user tries to write anything using an Asian IME, for example the Japanese IME with Hiragana input. Instead of having a predictive text dropdown open at the point of the caret, it opens a little input box in the corner of the screen and the predictive text dropdown opens at that position.
Is there a way to have the predictive text dropdown open at the position of the caret in the SyntaxEditor?
For reference, I have reproduced the issue in the Telerik UI for WPF SDK Samples Browser, the "Custom Language Highlighting" demo and attached the screenshot of the observed behaviour.
Any help would be appreciated, thank you.
