The click actions (like cell selection and sorting) stop working when RadDataGrid is hosted in a RadTabControl or TabView. To reproduce this, you should select the tab item with the data grid, then select another tab, and select back the tab with the data grid. This prevents the hit testing in the RadDataGrid element.
The issue occurs because the hit test service used in the RadDataGrid implementation. The hit test service relies on the IsLoaded property of RadDataGrid (inherited from RadControl). The property is set in the Loaded and Unloaded events. However, when switching tabs, the Unloaded event is invoked on deselection, but on second selection of the same tab, the Loaded event is never called again, thus IsLoaded is false.
To work this around, you can subscribe to the PreviewSelectionChanged event of RadTabControl and manually update the internal isLoaded field of the data grid.
private void RadTabControl_PreviewSelectionChanged(object sender, Telerik.UI.Xaml.Controls.RadSelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
var gridView = ((RadTabItem)e.AddedItems[0]).Content as RadDataGrid;
var isLoadedField = typeof(RadControl).GetField("isLoaded", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
isLoadedField.SetValue(gridView, true);
}
}
Hello,
I have Telerik.WinUI.Controls v4.0.0 installed with Telerik.Licensing v1.6.5 with the extension installed and the license text file in the root folder of my project. However, I receive this message the first time a RadDataGrid is loaded on the UI on a secondary window. After closing and re-opening the window, the message doesn't show. When packaging for release, this doesn't seem to be an issue. The message is also stating the wrong version.
IndexOutOfRangeException occurs in some situations when updating the ItemsSource collection of RadDataGrid. In order to reproduce the issue, the ItemsSource collection should be cleared by calling its Clear method. When you add a specific number of items after that the error occurs. The number of added items depends on the viewport's height.
To work this around, instead of calling the Clear() method of the ItemsSource collection, remove the items one by one.
var collection = (ObservableCollection<MyModel>)this.dg.ItemsSource;
while (collection.Count > 0)
{
collection.RemoveAt(collection.Count - 1);
}
Unhandled COMException is thrown when the MessageGroup elements are removed from the chat's visual tree. This can happen when the group view models are removed from the MessageGroups or MessageListItems collections.
To work this around, you can get the corresponding MessageGroup container and set its DataContext to null before removing the MessageGroupViewModel from the MessageGroups or MessageListItems collections.
var groupVisuals = chat.ChildrenOfType<MessageGroup>();
foreach (MessageGroup group in groupVisuals)
{
group.DataContext = null;
}
Hi,
I am planning to build one of the pages of my software around the amazing Timebar control but I experience many issues. With this code:
<Grid Height="200">
<tcontrols:RadTimeBar x:Name="timeBar" Height="150">
<tcontrols:RadTimeBar.Intervals>
<tdataViz:YearInterval />
<tdataViz:MonthInterval />
<tdataViz:WeekInterval />
<tdataViz:DayInterval />
</tcontrols:RadTimeBar.Intervals>
<tcontrols:RadTimeBar.Content>
<tdataViz:RadLinearSparkline x:Name="timeSparkline"/>
</tcontrols:RadTimeBar.Content>
</tcontrols:RadTimeBar>
</Grid>Hi Team,
Please implement this feature for WinUI =>
If you'd like to see a real test project that demonstrates the problem, you can use the repro attached to my Forum post => Spline series are incorrectly drawn in UI for WinUI.
Thank you,
Sébastien
The following exception is thrown when expanding row details with a height larger than the row height:
ArgumentOutOfRangeException: "Non-negative number required."