As of 2024 Q4 (November), we will deprecate the .NET 7 distribution. This decision is rooted in our dedication to align with Microsoft’s recommended framework versions so that our products leverage the latest advancements in technology, security, and performance.
We are aligning our product with Microsoft’s lowest-supported framework versions for .NET Framework and .NET, respectively. Please refer to the following blog post: Product Update for Enhanced Performance and Security
For more information about how to upgrade your project when a new version of the Telerik UI for WPF suite is released, you can check here: Project Migration to .NET 4.6.2 and .NET 6
As of 2024 Q2, we will deprecate .NET Framework 4.0, .NET Framework 4.5, and .NET Core 3.1 distributions. This decision is rooted in our dedication to align with Microsoft’s recommended framework versions so that our products leverage the latest advancements in technology, security, and performance.
We are aligning our product with Microsoft’s lowest-supported framework versions for .NET Framework and .NET, respectively. Please refer to the following blog post:
Product Update for Enhanced Performance and Security (telerik.com)
For more information about how to upgrade your project's .NET Framework version, you can check the following MSDN article:
Migration Guide to .NET Framework 4.8, 4.7, and 4.6.2 - .NET Framework | Microsoft Learn
Hi,
I encountered the same issue as this - https://www.telerik.com/forums/radopenfolderdialog-is-super-slow
May I ask if there is any solution to date?
Regards
I want to customize GroupDescription to meet our needs. Here is the `EquipmentGroupDescription` class: public class EquipmentGroupDescription : GroupDescription { public override object GroupNameFromItem(object item, int level, CultureInfo culture) { var experiment = item as Experiment; if (experiment == null) return null; return experiment.EquipmentID; } } The `Experiment` class inherits from `Appointment`: public class Experiment : Appointment { public string ID { get; set; } public string Name { get; set; } public string EquipmentName { get; set; } public Guid EquipmentID { get; set; } } I need to group `Experiment` by `EquipmentID` and `DateTime`. Here is the XAML: <telerik:RadScheduleView x:Name="scheduler" ActiveViewDefinitionIndex="1" FirstVisibleTime="12:00" GroupDescriptionsSource="{Binding CustomGroupDescriptions}" AppointmentsSource="{Binding Experiments}"> <telerik:RadScheduleView.GroupHeaderContentTemplate> <DataTemplate> <TextBlock Text="{Binding}" Foreground="White" FontWeight="Bold"/> </DataTemplate> </telerik:RadScheduleView.GroupHeaderContentTemplate> <telerik:RadScheduleView.AppointmentItemContentTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Appointment.Name}" FontWeight="Bold" Foreground="White"/> <TextBlock Text="{Binding Appointment.EquipmentName}" Foreground="#DDD"/> </StackPanel> </DataTemplate> </telerik:RadScheduleView.AppointmentItemContentTemplate> <telerik:RadScheduleView.ViewDefinitions> <telerik:DayViewDefinition /> <telerik:WeekViewDefinition /> <telerik:MonthViewDefinition /> <telerik:TimelineViewDefinition DayStartTime="08:00" /> </telerik:RadScheduleView.ViewDefinitions> </telerik:RadScheduleView> ``` In the ViewModel,
private readonly Guid pivot1 = Guid.NewGuid();
private readonly Guid pivot2 = Guid.NewGuid();
var items = LoadAppointmentsSource();
Experiments = items.ToObservableCollection();
CustomGroupDescriptions = new ObservableCollection<EquipmentGroupDescription>
{
new EquipmentGroupDescription()
};
private IEnumerable<Experiment> LoadAppointmentsSource()
{
var items = new List<Experiment>
{
new Experiment()
{
Subject="1",
Name="K Experiment 1",
EquipmentID=pivot1,
EquipmentName="Pivot",
Start=DateTime.Today.AddDays(1).AddHours(12),
End=DateTime.Today.AddDays(1).AddHours(13)
},
new Experiment()
{
Subject="2",
Name="K Experiment 2",
EquipmentID=pivot2,
EquipmentName="Pivot",
Start=DateTime.Today.AddDays(1).AddHours(12),
End=DateTime.Today.AddDays(1).AddHours(13)
},
};
var firstDate = items.Min(new Func<Experiment, DateTime>(p => p.Start.Date));
var firstDay = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
var dayOfWeekNumber = (int)DateTime.Today.DayOfWeek == 0 ? 7 : (int)DateTime.Today.DayOfWeek;
var firstDayOfCurrentWeek = DateTime.Today.Subtract(TimeSpan.FromDays(dayOfWeekNumber - (int)firstDay));
var offset = firstDayOfCurrentWeek - firstDate;
foreach (var item in items)
{
item.Start += offset;
item.End += offset;
}
return items;
}
private ObservableCollection<Experiment> experiments;
public ObservableCollection<Experiment> Experiments
{
get { return experiments; }
set
{
experiments = value;
OnPropertyChanged();
}
}
private ObservableCollection<EquipmentGroupDescription> customGroupDescriptions;
public ObservableCollection<EquipmentGroupDescription> CustomGroupDescriptions
{
get { return customGroupDescriptions; }
set
{
customGroupDescriptions = value;
OnPropertyChanged();
}
}
the Telerik version used is 2022.3.912.310. During debugging, I found that `GroupDescriptionsSource`
contains two objects: `EquipmentGroupDescription` and `DatetimeGroupDescription`.
However, `EquipmentGroupDescription` has 0 items in `GroupNames`, and its `GroupNameFromItem`
method is never called.
I currently have an RadAutoCompelteBox similar to this:
<telerik:RadAutoCompleteBox x:Name="MyGrid"
KeyDown="OnSearchBoxKeyDown"
SearchTextChanged="OnSearchTextChanged"
ItemsSource="{Binding Source={StaticResource ViewModel}}, Path=Data.MyData"
SelectionMode="Single"
DisplayMemberPath="Display"
TextSearchPath="MyNumber"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
SearchText="{Binding SearchText, Mode=TwoWay}"
TextSearchMode="Contains"
DropDownItemTemplate="{StaticResource MyDropDownTemplate}">
<telerik:RadAutoComplete.FilteringBehavior>
<telerik:AsyncFilteringBehavior/>
</telerik:RadAutoComplete.FilteringBehavior>
</telerik:RadAutoCompleteBox>
What is happening is this.
View the view loads we load the selected item has it has a value. (Say "123456").
When the user clicks on the autocompeltebox the whole selection highlights. (That's fine)
User then clicks it a second time and the cursor is then at the end of the 6 in my example.
User then clicks backspace and the entire selection clears out.
At that point why would it not just remove the 6?
private void OnSearchTextChanged(object sender, EventArgs e)
{
// Try to capture this and do what I want.
}
I've tried to use this method to achieve what I want to happen, however the EventArgs is always empty.
How can I accomplish this? (I want the backspace to clear one character at a time)
I will note that we have other AutoCompleteBoxes that work as intended the only difference between those ones and this one is that the ones that work have all the data loaded up front in the ItemsSource.
This one we are searching the DB for the data as the user types.
I just found a 15 year old post about RadComboBox filtering and virtualization not working
I cant understand why this hasn't been fixed yet ?
GridView supports filtering and virtualization, so it's not like you dont know how to fix it.
You ESPECIALLY need virtualization AND filtering when you have 1000+ elements in your ComboBox like i do,
we have a list of 3000 companies that i want to use in a selector...
it's only after completly abandonding RadComboBox and using the RadAutocompleterBox that i was able to achieve what i wanted - kind of.
Could you PLEASE prioritize this missing feature ?
<telerik:RadGridView Grid.Row="2" Grid.ColumnSpan="2" x:Name="MyGridView"
ItemsSource="{Binding MyItems}"
RowIndicatorVisibility="Collapsed"
ShowColumnFooters="True"
ShowGroupPanel="False"
IsReadOnly="True"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Top">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding MonthDisplay}" Header="Month" Width="65">
<telerik:GridViewDataColumn.Footer>
<TextBlock Text="Totals:"/>
</telerik:GridViewDataColumn.Footer>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Column1Data}" Header="Column 1" Width="*" MinWidth="40" MaxWidth="95" DataFormatString="#,###0.##" TextAlignment="Right" FooterTextAlignment="Right">
<telerik:GridViewDataColumn.AggregateFunctions>
<telerik:SumFunction/>
</telerik:GridViewDataColumn.AggregateFunctions>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Column2Data}" Header="Column 2" Width="*" MinWidth="40" MaxWidth="95" DataFormatString="#,###0.##" TextAlignment="Right" FooterTextAlignment="Right">
<telerik:GridViewDataColumn.AggregateFunctions>
<telerik:SumFunction/>
</telerik:GridViewDataColumn.AggregateFunctions>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Column3Data}" Header="Column 3" Width="*" MinWidth="40" MaxWidth="95" DataFormatString="#,###0.##" TextAlignment="Right" FooterTextAlignment="Right">
<telerik:GridViewDataColumn.AggregateFunctions>
<telerik:SumFunction/>
</telerik:GridViewDataColumn.AggregateFunctions>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Column4Data}" Header="Column 4" Width="*" MinWidth="40" MaxWidth="95" DataFormatString="#,###0.##" TextAlignment="Right" FooterTextAlignment="Right">
<telerik:GridViewDataColumn.AggregateFunctions>
<telerik:SumFunction/>
</telerik:GridViewDataColumn.AggregateFunctions>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
Month Column1 Column2 Column3 Column4 Jan 1 2 3 4 Feb 1 2 3 4 March 1 2 3 4 Totals: 3 6 9 12
Month Column1 Column2 Column3 Column4 Jan 1 2 3 4 Feb 1 2 3 4 March 1 2 3 4 Totals: 3 6 9 12 Average:1 2 3 4
I am using the RadTimeSpanPicker to choose a duration, and I'd like to style the Clear and Close buttons to match the Run New Objective button. How can I access the button styles?
Thanks,
Chuck