The default behavior of the WinUI native Popup is to render within the bounds of its owner element. This means if the DataGrid reaches the end of the window and there is not enough space for the filtering control to draw, it will get clipped.
To avoid the clipping and allow the Popup to get displayed outside of the window, the ShouldConstrainToRootBounds property of the Popup should be set to false.
Add an API in the RadDataGrid control to allow setting the ShouldConstrainToRootBounds option of the Popup.
In the meantime, you can disable the Popup constrain via an implicit Style in App.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<ResourceDictionary Source="ms-appx:///Telerik.WinUI.Controls/Themes/Generic.xaml"/>
<!-- Other merged dictionaries here -->
</ResourceDictionary.MergedDictionaries>
<Style TargetType="Popup">
<Setter Property="ShouldConstrainToRootBounds" Value="False" />
</Style>
<!-- Other app resources here -->
</ResourceDictionary>
</Application.Resources>
The field filters in the DataGridNumericalFilterControl of DataGridNumericalColumn are using RadNumericBox controls for the input visuals. By default RadNumericBox is limited to values between 0 and 100, which means you cannot enter values outside of this range.
To work this around, you can re-template the DataGridNumericalFilterControl in order to set the Minimum and Maximum properties of the RadNumericBox element to NaN.
<Application
x:Class="App3.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App3" xmlns:telerikDataGrid="using:Telerik.UI.Xaml.Controls.Grid.Primitives" xmlns:telerikInput="using:Telerik.UI.Xaml.Controls.Input">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<ResourceDictionary Source="ms-appx:///Telerik.WinUI.Controls/Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="telerikDataGrid:DataGridNumericalFilterControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="telerikDataGrid:DataGridNumericalFilterControl">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ComboBox x:Name="PART_OperatorCombo"
HorizontalAlignment="Stretch"
ItemsSource="{Binding OperatorsList}"
SelectedItem="{Binding FilterDescriptor.Operator, Mode=TwoWay, Converter={StaticResource FilterOperatorConverter}}"
DisplayMemberPath="DisplayText">
</ComboBox>
<telerikInput:RadNumericBox x:Name="PART_ValueBox"
Minimum="NaN"
Maximum="NaN"
HorizontalAlignment="Stretch"
Value="{Binding FilterDescriptor.Value, Mode=TwoWay}"
Grid.Row="1" Margin="0 10 0 0"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
Dynamically changing the Header of a RadDataGrid column is clearing the header visual's content. This means that you no longer see the header. To reproduce this the SizeMode of the column should be set to Fixed.
To work this around, instead of changing the Header of the column, you can assign the Header initially to a visual element - like TextBox - and change its content (like the Text property). Or alternatively, avoid the Fixed SizeMode.
Exception is raised when zooming is performed.
Create a combo box control that supports multi selecting, like the WPF version e.g.
https://docs.telerik.com/devtools/wpf/controls/radcombobox/features/multiple-selection
Hi friends,
my custom tooltips never work on the first bar only of the BarSeries, here is a simple example showing this behavior. There is important data for me in that column, so let's hope it's possible to resolve this. Many thanks!
Remove the space reserved for the sort indicator in the column header, when CanUserSort is False and therefore the sort indicator is not displayed. The current behavior prevents the user to easily center the header text.
To work this around, you can edit the ControlTemplate of DataGridColumnHeader. In the template, you can update the Visibility of the TextBlock with x:Name set to "SortIndicator" when CanUserSort is False.
when the datagrid group the column ,the group header indent,but the general row don't indent .
look the following file.
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>