Hi there,
I'm new, and I'm currently trying to understand how RadDocking works.
Is there any way that I can put RadPanes' (which is a child inside of a RadDocumentHost) headers in another location?

<Window x:Class="TestApp.MainWindow" mc:Ignorable="d" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:gl="clr-namespace:TestApp" xmlns:net="http://schemas.gelsight.com/mobile/net" Title="MainWindow" > <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/Colors.xaml"/> </ResourceDictionary.MergedDictionaries> <gl:MainWindowVm x:Key="ViewModel"/> <Style TargetType="{x:Type tk:GridViewCell}"> <Setter Property="Background" Value="{StaticResource GsBackgroundDark}"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="SelectedBackground" Value="{StaticResource GsBackgroundDark2}"/> <Setter Property="BorderThickness" Value="0"/> </Style> <Style TargetType="{x:Type tk:GridViewHeaderCell}"> <Setter Property="Background" Value="{StaticResource GsBackgroundDark}"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderThickness" Value="0"/> </Style> <Style TargetType="{x:Type tk:GridViewSearchPanel}"> <Setter Property="Background" Value="{StaticResource GsBackgroundDark}"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderThickness" Value="0"/> </Style> <Style TargetType="{x:Type tk:GridViewGroupPanel}"> <Setter Property="Background" Value="{StaticResource GsBackgroundDark}"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderThickness" Value="0"/> </Style> <Style TargetType="{x:Type tk:GridViewScrollViewer}"> <Setter Property="Background" Value="{StaticResource GsBackgroundDark}"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderThickness" Value="0"/> </Style> </ResourceDictionary> </Window.Resources> <Grid DataContext="{StaticResource ViewModel}"> <tk:RadGridView ItemsSource="{Binding Licenses}" CanUserGroupColumns="False" CanUserSearch="False" Background="{StaticResource GsBackgroundDark}" Foreground="{StaticResource GsForegroundLight}" ColumnsSelectionButtonVisibility="Collapsed" BorderThickness="0" BorderBrush="{StaticResource GsBackgroundDark}" ShowGroupPanel="False" ShowColumnSortIndexes="False" ShowSearchPanel="False" ShowColumnFooters="False" ShowGroupFooters="False" CanUserSelectColumns="False" Padding="0" CanUserResizeColumns="False" CanUserSearchInHiddenColumns="False" DataLoadMode="Asynchronous" Focusable="False" GridLinesVisibility="None" IsFilteringAllowed="False" RowIndicatorVisibility="Collapsed" CanUserSortColumns="False" CanUserReorderColumns="False" AutoGenerateColumns="False" IsHitTestVisible="False" CanUserSelect="False" MaxWidth="500" Style="{DynamicResource RadGridViewStyle1}" SearchPanelForeground="{StaticResource GsForegroundLight}" SearchPanelBackground="{StaticResource GsBackgroundDark}" ColumnBackground="{StaticResource GsBackgroundDark}" GroupPanelBackground="{StaticResource GsBackgroundDark}" GroupPanelForeground="{StaticResource GsForegroundLight}" AlternateRowBackground="{StaticResource GsBackgroundDark}" > <tk:RadGridView.HeaderRowStyle> <Style TargetType="{x:Type tk:GridViewHeaderRow}"> <Setter Property="Background" Value="{StaticResource GsBackgroundDark}"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="Foreground" Value="{StaticResource GsForegroundLight}"/> <Setter Property="BorderThickness" Value="0"/> <Setter Property="FontSize" Value="20"/> <Setter Property="FontWeight" Value="Bold"/> </Style> </tk:RadGridView.HeaderRowStyle> <tk:RadGridView.Columns> <tk:GridViewDataColumn Header="Feature" Width="Auto" DataMemberBinding="{Binding Feature}" /> <tk:GridViewDataColumn Header="Version" Width="Auto" DataMemberBinding="{Binding Version}"/> <tk:GridViewDataColumn Header="Expires" Width="1*" DataMemberBinding="{Binding Expires}"/> </tk:RadGridView.Columns> </tk:RadGridView> </Grid></Window>Hello,
I wanted to change the FontSize of RadGridView, but it didn't seem to work. I also wanted to set RowHeaderHeight, but could not find the corresponding attribute value.
How can I change FontSize? How can I set RowHeaderHeight?
Thanks
Hello,
I set RadGridView RowHeight to 100, but it doesn't work, it's still small
How can I set the custom rowheight for each row?
Thanks
Hello,
Now I have purchased Telerik UI for WPF.
I'm trying to set the row height for my RadGridView, but I can't find a RowHeight attribute similar to Microsoft's WPF DataGrid.
How can I set the custom rowheight for each row?
I readed lot of thread on this forum but the properties that they use seems to not exists...
Thanks

Hi Team,
We were previously using the 2017.2.614.45 version of the Telerik controls and were facing memory leak issues with RadGridView. We have hence upgraded to 2018.3.1016.45 version of the controls but still are facing the same memory leak issues.
We use RadPane which is placed in a RadPaneGroup; the pane in turn contains the RadGridView. We have handled the closed event of the RadPaneGroup wherein we do our cleanup operations(unsubscribing RadGridView events, setting DataContext as null). As stated in one of the forum posts, we also do the cleanup operations advised which is given at the end.
Please also find the memory profile report of our application when we closed the RadPane.
Kindly advise.
Regards,
Swapnil Ramteke
private void radDocking_Close(object sender, Telerik.Windows.Controls.Docking.StateChangeEventArgs e) { try { if (e.Panes.Count() == 1) { var pane = e.Panes.ElementAt(0); if (pane is IDispose) { (pane as IDispose).Dispose(); } pane.Content = null; pane.Header = null; pane.DataContext = null; pane.RemoveFromParent(); pane = null; // Wait for 5 seconds before garbage collection System.Threading.Tasks.Task.Delay(5000).ContinueWith(antecedent => { GC.WaitForPendingFinalizers(); GC.Collect(); }); } } catch (Exception) { } }Hi every body ....
I use RadRichTextBox in the following manner: first page is used (by the user) as a cover letter so that it is not included within the total count of pages. Footer of every page except first page should display page number x from y, where x is the current page number (after the first page), and y is the total number of pages minus one (the first page).
I could achieve the first value of the formatted footer using CodeBasedField, but unfortunately I couldn't modify the value returned by NumPagesField.
My question is how to modify value returned by NumPagesField so that I can display total number of pages minus one. Below there is an attachment of an image to show my requirement.
The following is my code snippet used in creating the custom footer:
Public Function FirstTemplate() As RadDocumentDim section As New Section() section.HasDifferentFirstPageHeaderFooter = Truesection.Footers.[Default] = New Footer With {.Body = ReportFooter()}End Function Private Function ReportFooter() As RadDocument Dim footerDoc As New RadDocumentDim footerSection As New Section Dim footerParagraph As New Paragraph Dim footerDocumentEditor As New RadDocumentEditor(footerDoc) footerParagraph.TextAlignment = RadTextAlignment.Center footerDoc.Sections.Add(footerSection) footerSection.Blocks.Add(footerParagraph) footerDocumentEditor.InsertField(New FormattedPageNumber, FieldDisplayMode.Result) footerDocumentEditor.InsertField(New NumPagesField, FieldDisplayMode.Result) '??? how to return total number of pages -1 Return footerDoc End FunctionPublic Class FormattedPageNumber Inherits CodeBasedField Public Shared ReadOnly FieldType As String = "FormattedPageNUM" Shared Sub New() CodeBasedFieldFactory.RegisterFieldType(FormattedPageNumber.FieldType, Function() Return New FormattedPageNumber() End Function) End Sub Public Overrides ReadOnly Property FieldTypeName() As String Get Return FormattedPageNumber.FieldType End Get End Property Protected Overrides Function GetResultFragment() As DocumentFragment Dim pageNumber As Integer = 0 'Dim pagesCount As Integer = 0 If Me.Document IsNot Nothing Then Dim position As New DocumentPosition(Me.Document) position.MoveToStartOfDocumentElement(Me.FieldStart) Dim sectionBox As SectionLayoutBox = position.GetCurrentSectionBox() pageNumber = sectionBox.PageNumber End If Dim resultString As String = "Page " & pageNumber - 1 & " From " Return MyBase.CreateFragmentFromText(resultString) End Function Public Overrides Function CreateInstance() As Field Return New FormattedPageNumber() End Function End Class
I was trying to use RadMultiColumnComboBox in RadGridView with programatic filtering. The filtered item of the ComboBox(in Col3) is depend on the value of Col1 and Col2. The problem is to get the "Y" object. I donot know how.
<telerik:RadGridView ItemsSource="{Binding X}>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Col1" DataMemberBinding="{Binding XA}"/>
<telerik:GridViewDataColumn Header="Col2" DataMemberBinding="{Binding XB}"/>
<telerik:GridViewDataColumn Header="Col3">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<telerik:RadMultiColumnComboBox>
<telerik:RadMultiColumnComboBox.ItemsSourceProvider>
<telerik:GridViewItemsSourceProvider ItemsSource="{Binding Y}" AutoGenerateColumns="False"> (*** used FindAncestor aproach***)
<telerik:GridViewItemsSourceProvider.Columns>
<telerik:GridViewDataColumn Header="SubCol1" DataMemberBinding="{Binding YA}"/>
<telerik:GridViewDataColumn Header="SubCol2" DataMemberBinding="{Binding YB}"/>
</telerik:GridViewItemsSourceProvider.Columns>
</telerik:GridViewItemsSourceProvider>
</telerik:RadMultiColumnComboBox.ItemsSourceProvider>
</telerik:RadMultiColumnComboBox>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
I tryed following but every time I find null.
-- .ChildrenOfType<>()
-- .Columns["<col_name>"]
-- FindResource() (***as DataTemplete declared as Resource***)
Hi,
I tried a hierarchical grid like this:
<telerik:GridView Grid.Row="2" RowIndicatorVisibility="Collapsed" CanUserSelect="False" IsReadOnly="True" ItemsSource="{Binding ProductConfigurations}" ShowInsertRow="False" CanUserInsertRows="False" CanUserReorderColumns="False" ShowGroupPanel="False" CanUserEditRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False"> <telerik:GridView.HierarchyChildTemplate> <DataTemplate> <telerik:GridView Grid.Row="1" Margin="24,0,0,0" RowIndicatorVisibility="Collapsed" CanUserSelect="False" IsReadOnly="True" ItemsSource="{Binding ProductConfigurationVariants}" ShowInsertRow="False" CanUserInsertRows="False" CanUserReorderColumns="False" ShowGroupPanel="False" CanUserEditRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False"> <telerik:GridView.Columns> <telerik:GridViewDataColumn Header="VariantNr" DataMemberBinding="{Binding VariantNr}" Width="90" IsSortable="True" IsFilterable="False" /> <telerik:GridViewDataColumn Header="SalesOrderCode" DataMemberBinding="{Binding SalesOrderCode}" Width="120" IsFilterable="True" /> <telerik:GridViewDataColumn Header="ProductionOrderCode" DataMemberBinding="{Binding ProductionOrderCode}" Width="*" IsSortable="True" IsFilterable="False"/> <telerik:GridViewDataColumn Header="NavTransferID" DataMemberBinding="{Binding NavTransferID}" Width="100" IsFilterable="False" IsSortable="False" /> <telerik:GridViewDataColumn Header="NavTransferStatus" DataMemberBinding="{Binding NavTransferStatus}" Width="120" IsFilterable="False" IsSortable="False" /> <telerik:GridViewDataColumn Header="NavTransferActionCode" DataMemberBinding="{Binding NavTransferActionCode}" Width="140" IsFilterable="False" IsSortable="False" /> </telerik:GridView.Columns> </telerik:GridView> </DataTemplate> </telerik:GridView.HierarchyChildTemplate> <telerik:GridView.ChildTableDefinitions> <telerik:GridViewTableDefinition> <telerik:GridViewTableDefinition.Relation> <telerik:PropertyRelation ParentPropertyName="ProductConfiguration"/> </telerik:GridViewTableDefinition.Relation> </telerik:GridViewTableDefinition> </telerik:GridView.ChildTableDefinitions> <telerik:GridView.Columns> <telerik:GridViewDataColumn Header="ItemNr" DataMemberBinding="{Binding ItemNr}" Width="80" IsSortable="True" IsFilterable="False" /> <telerik:GridViewDataColumn Header="ItemStatus" DataMemberBinding="{Binding ItemStatus}" Width="90" IsSortable="True" IsFilterable="False" /> <telerik:GridViewDataColumn Header="PLMItemNumber" DataMemberBinding="{Binding PLMItemNumber}" Width="120" IsFilterable="True" /> <telerik:GridViewDataColumn Header="HWProductionOrderCode" DataMemberBinding="{Binding HWProductionOrderCode}" Width="*" IsSortable="True" IsFilterable="False"/> <telerik:GridViewDataColumn Header="NavTransferID" DataMemberBinding="{Binding NavTransferID}" Width="100" IsFilterable="False" IsSortable="False" /> <telerik:GridViewDataColumn Header="NavTransferStatus" DataMemberBinding="{Binding NavTransferStatus}" Width="120" IsFilterable="False" IsSortable="False" /> <telerik:GridViewDataColumn Header="NavTransferActionCode" DataMemberBinding="{Binding NavTransferActionCode}" Width="140" IsFilterable="False" IsSortable="False" /> <telerik:GridViewDataColumn Header="NumVar" DataMemberBinding="{Binding ProductConfigurationVariants.Count}" Width="60" IsSortable="False" IsFilterable="False"/> </telerik:GridView.Columns></telerik:GridView>This works so far - but the child grid is extremely wide.
I can remove this behavior when I have no column with Width="*" in the child.
With the Width="*" this columns fills more than the width of the parent grid.
All other columns are fix - but this one can contain longer text - so removing the "*" is not an option.
The desired outcome is a child Grid that fills the parent - with one column "AutoExpanding".
As a workaroundI tried to bind the Width of the child grid to another element on the UserControl - Width="{Binding ActualWidth, ElementName=xRect}".
But this results in a binding error.
Manfred
Hi,I'm sorting a TreeListView clicking the header. See the structure below. All the top rows are sorted fine (Ascending and Descending), A5 row have 1 child level and is sorted good too. But A1 that have more than 1 level of children doesn't work. If I keep A1 with 1 level of children (just F1 and A2) the sort works. So TreeListView support sort with more that 1 horizontal level of children ?
A1 - 0
F1- 1
A2 - 2
F2 - 3
A3 - 4
A4 - 5
F3- 6
A5 - 7
F4-8
F5-9
F6-10
F7-11
This is my xaml:
<telerik:RadTreeListView Grid.Row="2" x:Name="DeckDataGrid"
EnableLostFocusSelectedState="False"
CanUserSortColumns="True"
SelectionMode="Single"
cal:Message.Attach="[Event Sorting] = [Action SortingHandler($source, $eventArgs)]"
ItemsSource="{Binding Source={StaticResource EngineeringDeckMarksView}}"
TreeLinesVisibility="Hidden"
SelectedItem="{Binding SelectedDeckMark, Mode=TwoWay}"
HierarchyColumnIndex="1">
<telerik:RadTreeListView.SortDescriptors >
<telerik:SortDescriptor Member="MarkNumber" />
</telerik:RadTreeListView.SortDescriptors>
<telerik:RadTreeListView.ChildTableDefinitions>
<telerik:TreeListViewTableDefinition ItemsSource="{Binding ChildrenDeckMarks}" />
</telerik:RadTreeListView.ChildTableDefinitions>
<telerik:RadTreeListView.Columns>
<telerik:GridViewDataColumn MinWidth="32" IsSortable="True" SortMemberPath="IsSelected" EditTriggers="None">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate DataType="deck:IBaseDeckMarkViewModel">
<CheckBox Margin="10 0 0 0"
CommandParameter="{Binding}"
IsChecked="{Binding IsSelected, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn HeaderCellStyle="{StaticResource StyleMarkHeader}" CellStyle="{StaticResource StyleMark}" Header="Mark" SortingState="Ascending" DataMemberBinding="{Binding DeckIndex}" MinWidth="100" Width="120" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Bundle" SortingState="Descending" DataMemberBinding="{Binding Bundle, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}'}" MinWidth="100" Width="100" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Qty" SortingState="Ascending" DataMemberBinding="{Binding Quantity, TargetNullValue='--', FallbackValue='--' }" MinWidth="71" Width="71" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Avail
Qty" SortingState="Ascending" DataMemberBinding="{Binding AvailableQuantity, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="80" Width="100" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Length" SortingState="Ascending" DataMemberBinding="{Binding Length, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}', Converter={StaticResource LengthDisplayConverter}, ConverterParameter=FractionalFeet8th}" MinWidth="90" Width="90" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Designation" SortingState="Descending" DataMemberBinding="{Binding Designation, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="140" Width="150" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Gage" SortingState="Descending" DataMemberBinding="{Binding Gage, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="70" Width="70" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Galv" SortingState="Ascending" SortMemberPath="GalvanizationThickness" DataMemberBinding="{Binding Galvanization, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}'}" MinWidth="70" Width="70" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Top
Finish" SortingState="Ascending" DataMemberBinding="{Binding TopFinish, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="90" Width="90" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Bot
Finish" SortingState="Ascending" DataMemberBinding="{Binding BottomFinish, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="90" Width="90" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Emboss" SortingState="Ascending" DataMemberBinding="{Binding Emboss, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}'}" MinWidth="110" Width="110" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Acoustic" SortingState="Ascending" DataMemberBinding="{Binding Acoustic, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="110" Width="110" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Perf" SortingState="Ascending" DataMemberBinding="{Binding Perforation, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="80" Width="120" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Yield" SortingState="Ascending" DataMemberBinding="{Binding Yield, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="80" Width="120" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Wt Ea" SortingState="Ascending" DataMemberBinding="{Binding WeightEach, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}', Converter={StaticResource RoundAwayFromZeroConverter}, ConverterParameter=2}" MinWidth="80" Width="120" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Bundle
Desc" SortingState="Ascending" DataMemberBinding="{Binding BundleDescription, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" Width="110" MinWidth="110" IsReadOnly="True" />
<telerik:GridViewDataColumn Header="Width" SortingState="Ascending" DataMemberBinding="{Binding Width, TargetNullValue='--', FallbackValue='--', StringFormat='{}{0}' }" MinWidth="105" Width="*" IsReadOnly="True" />
</telerik:RadTreeListView.Columns>
</telerik:RadTreeListView>