The following exception is thrown when expanding row details with a height larger than the row height:
ArgumentOutOfRangeException: "Non-negative number required."
The group header row overlaps the column headers when scrolling to a column that is out of view upon previously resizing the window and the GroupHeaderDisplayMode is Frozen.
If you have already selected item(s) and then click on a new one to select it without holding Shift or Ctrl, the previous selection is cleared. This action should raise SelectionChanged with items in the RemovedItems collection of the event arguments. You can see this behavior in the native ListBox control. Also, this is how the RadDataGrid control is behaving in Single SelectionMode.
However, currently, if the SelectionMode is set to Extended, the RemovedItems collection doesn't contain any items.
If you use the DataGridComboBoxColumn or the DataGridTemplateColumn with a ComboBox in its template, you cannot open the drop down of the ComboBox when you click onto it. This reproduces only if you try to click on the arrow icon that opens the drop down or somewhere in the control where no text is presented. If you have already selected item and some text is displayed, you can click onto the text in order to open the drop down.
This reproduces also if the ComboBox is defined in the RowDetailsTemplate of the DataGrid.
To workaround this, you can subscribe to the Tapped event of ComboBox control and set the Handled property of the event arguments to True. If you use the DataGridComboBoxColumn, you can create a custom class that derives from it and override its CreateEditorContentVisual method. This will allow you to get the ComboBox and subscribe to its event.
public class CustomComboBoxColumn : DataGridComboBoxColumn
{
public override FrameworkElement CreateEditorContentVisual()
{
var comboBox = (ComboBox)base.CreateEditorContentVisual();
comboBox.Unloaded += ComboBox_Unloaded;
comboBox.Tapped += ComboBox_Tapped;
return comboBox;
}
private void ComboBox_Unloaded(object sender, RoutedEventArgs e)
{
var comboBox = (ComboBox)sender;
comboBox.Unloaded -= ComboBox_Unloaded;
comboBox.Tapped -= ComboBox_Tapped;
}
private void ComboBox_Tapped(object sender, Microsoft.UI.Xaml.Input.TappedRoutedEventArgs e)
{
e.Handled = true;
}
}
Currently, the Save and Cancel words in the inline editor buttons are using hardcoded strings. Add LocalizationManager support in order to allow easier customization when translating the application.
In the meantime, you can achieve this effect by extracting the templates of the buttons and replace the hardoced text with LocalizationManager.
<Application
x:Class="TelerikWinUIApp7.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localPrimitives="using:Telerik.UI.Xaml.Controls.Grid.Primitives"
xmlns:primitivesCommon="using:Telerik.UI.Xaml.Controls.Primitives.Common"
xmlns:core="using:Telerik.Core"
xmlns:local="using:TelerikWinUIApp7">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
<ResourceDictionary Source="ms-appx:///Telerik.WinUI.Controls/Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!-- Other app resources here -->
<Style TargetType="localPrimitives:DataGridEditRow">
<Setter Property="CommitButtonStyle">
<Setter.Value>
<Style TargetType="primitivesCommon:InlineButton" BasedOn="{StaticResource EditRowButtonBaseStyle}">
<Setter Property="BorderThickness" Value="1 1 0 1" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text=""
FontFamily="{ThemeResource SymbolThemeFontFamily}"
VerticalAlignment="Center"
Margin="15 0 0 0"/>
<TextBlock core:LocalizationManager.Key="Save"
core:LocalizationManager.PropertyName="Text" Margin="8 0 15 0"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
<Setter Property="CancelButtonStyle">
<Setter.Value>
<Style TargetType="primitivesCommon:InlineButton" BasedOn="{StaticResource EditRowButtonBaseStyle}">
<Setter Property="BorderThickness" Value="0 1 1 1" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text=""
FontFamily="{ThemeResource SymbolThemeFontFamily}"
VerticalAlignment="Center"
Margin="15 0 8 0"/>
<TextBlock core:LocalizationManager.Key="Cancel"
core:LocalizationManager.PropertyName="Text" Margin="0 0 15 0" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
The DataGrid ScrollBar is covered by the group header when grouping.
looking the attachment.