.Net framework 4.7.2
Telerik WPF Version 2025.1.211.462
When developing an application using Telerik's RadHighlightTextBlock control, I encountered the following issues:
When attempting to dynamically update the control's `Text` and `HighlightText` properties through data binding, the control fails to display the updated content correctly. Specifically:
I have confirmed that:
I suspect this might be an issue with RadHighlightTextBlock's internal update handling mechanism, or it may require specific settings to properly handle dynamic update scenarios.
<Window x:Class="RadHighlightTextBlock_Issue.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:local="clr-namespace:RadHighlightTextBlock_Issue"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<local:MyViewModel x:Key="MyViewModel"/>
</Window.Resources>
<StackPanel>
<telerik:RadHighlightTextBlock x:Name="highlightTextBlock"
Text="{Binding Source={StaticResource MyViewModel}, Path=SelectedItem.Description}"
HighlightText="{Binding Source={StaticResource MyViewModel}, Path=SelectedItem.HighlightText}"
HighlightForeground="Red"
HighlightBackground="Yellow"
FontSize="16"
Margin="10"/>
<telerik:RadButton Content="Content0" Command="{Binding Source={StaticResource MyViewModel}, Path=C0Command}"/>
<telerik:RadButton Content="Content1" Command="{Binding Source={StaticResource MyViewModel}, Path=C1Command}"/>
</StackPanel>
</Window>using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Windows;
using System.Windows.Input;
namespace RadHighlightTextBlock_Issue
{
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void RadButton_Click(object sender, RoutedEventArgs e)
{
highlightTextBlock.Text = "This is a sample text to demonstrate the RadHighlightTextBlock control.";
}
private void RadButton_Click_1(object sender, RoutedEventArgs e)
{
highlightTextBlock.Text = "This is another sample text for the second button.";
}
}
public class MyViewModel : INotifyPropertyChanged
{
public ObservableCollection<DataItem> Items { get; set; }
public MyViewModel()
{
Items = new ObservableCollection<DataItem>
{
new DataItem { HighlightText = "sample", Description = "This is a sample description." },
new DataItem { HighlightText = "second", Description = "This is the second item description." },
new DataItem { HighlightText = "text", Description = "This item contains the word text." }
};
SelectedItem = Items.FirstOrDefault();
}
public ICommand C0Command => new RelayCommand<object>((obj) =>
{
SelectedItem = Items.FirstOrDefault();
});
public ICommand C1Command => new RelayCommand<object>((obj) =>
{
SelectedItem = Items.LastOrDefault();
});
private DataItem _selectedItem;
public DataItem SelectedItem
{
get { return _selectedItem; }
set
{
if (_selectedItem != value)
{
_selectedItem = value;
OnPropertyChanged();
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
public class DataItem
{
public string HighlightText { get; set; }
public string Description { get; set; }
}
/*Implement RelayCommand...*/
}
Can we have a floating Label on a RadComboBox and a RadMultiColumnComboBox, same as a WatermarkTextBox?
It is quite annoying to have on a same form a WatermarkTextBox and Combo boxes as they appearance are so different.
1. Click filter icon in column
2. Enter invalid value in filter input
3. Press Filter, the value gets underlined, suggesting some kind of error.

4. Click the place marked 1 and then 2.
This time, it seems a message appears about the cause of the error, but it doesn’t fit inside the control.

For the Spanish culture, some of the localization strings are for the German culture.
The following resource keys are the ones containing wrong values:
To work around this, you could introduce a custom LocalizationManager and override the GetStringOverride method.
More information about this suggestion can be found here.
dialog.Filter = "Special files|.*_FileNamePart.txt"Pasting an invalid range of dates in the RadDateRangePicker, for example, "ABC", raises an exception.
To work around this behavior, you could subscribe to the Loaded event of RadDateRangePicker and retrieve the DateRangeMaskedInput element via the visual tree helper methods. Then, subscribe to its ValueChanging event and check whether the NewValue property of the event arguments contains any letters or characters that are not valid. If it does, set the Handled property to True.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.dateRangePicker.Loaded += DateRangePicker_Loaded;
}
private void DateRangePicker_Loaded(object sender, RoutedEventArgs e)
{
DateRangeMaskedInput dateRangeMaskedInput = this.dateRangePicker.FindChildByType<DateRangeMaskedInput>();
if (dateRangeMaskedInput != null)
{
dateRangeMaskedInput.ValueChanging += DateRangeMaskedInput_ValueChanging;
}
}
private void DateRangeMaskedInput_ValueChanging(object? sender, Telerik.Windows.Controls.MaskedInput.RadMaskedInputValueChangingEventArgs e)
{
if (e.NewValue.ToString().Any(char.IsLetter))
{
e.Handled = true;
}
}
}
Hi Team,
We have a large-scale WPF application that uses the Telerik WPF RadGridView across multiple screens. We are experiencing significant memory growth issues. Upon deep analysis of the memory dump, we observed that the RadGridView continuously pushes DispatcherPriority items into the Dispatcher queue. We also noticed an internal timer within the RadGridView that appears to be active even after the control is no longer visible. We would like to understand how to completely detach and stop this internal timer once the control is removed from the screen, and why the RadGridView keeps pushing DispatcherItem entries into the Dispatcher queue.
Telerik Version : 2017.2.503.45