or

| <Window x:Class="SimaClient.Window1" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" |
| Title="Sima Client" Height="300" Width="400" WindowStyle="ToolWindow"> |
| <Grid> |
| <telerik:RadGridView Name="RadGridView1" ShowGroupPanel="False" IsReadOnly="True" AutoGenerateColumns="False" ColumnsWidthMode="Fill"> |
| <telerik:RadGridView.ChildTableDefinitions> |
| <telerik:GridViewTableDefinition /> |
| </telerik:RadGridView.ChildTableDefinitions> |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding ID}" Header="ID" Width="100" /> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Name" Width="200"/> |
| </telerik:RadGridView.Columns> |
| <telerik:RadGridView.HierarchyChildTemplate> |
| <DataTemplate> |
| <telerik:RadGridView x:Name="RadGridView1" AutoGenerateColumns="False" ItemsSource="{Binding Routes}" ShowGroupPanel="False" IsReadOnly="True"> |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding ID}" Header="Route ID" /> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Route Name" /> |
| <telerik:GridViewDataColumn DataMemberBinding="{Binding WayPointsNum , Mode=OneWay }" Header="Number of WP" /> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
| </DataTemplate> |
| </telerik:RadGridView.HierarchyChildTemplate> |
| </telerik:RadGridView> |
| </Grid> |
| </Window> |

i tried using the GridViewColumn.CellTemplate but i can't change it at runtime,
what i want to do is on the RowLoaded event change the cell visual tree(ComboBox, CheckBox)
based on the type of the object in the Cell.Content
i want to be able to change it for each individual cell
not a whole row/Column
i know that somewhere inside the cell there is a:
{System.Windows.Controls.Border}
and inside of it there is
{Telerik.Windows.Controls.GridView.AlignmentContentPresenter}
and inside of it there is the CellTemplate
but i can't access it from c#
i also tried to put in the resources of the GridView, couple of DataTemplates for different types (int,brush,enum)
but it ignors the resources

| <Window x:Class="TileViewTest2.Window2" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| Title="Window2" Height="800" Width="200 " xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"> |
| <Grid> |
| <telerik:RadTileView MaxColumns="1" Height="auto" Name="radTileView1" Width="auto" MaximizeMode="Zero"> |
| <telerik:RadTileViewItem Height="auto" Name="radTileViewItem1" Width="auto"/> |
| <telerik:RadTileViewItem Height="auto" Name="radTileViewItem2" Width="auto"/> |
| <telerik:RadTileViewItem Height="auto" Name="radTileViewItem3" Width="auto"/> |
| <telerik:RadTileViewItem Height="auto" Name="radTileViewItem4" Width="auto"/> |
| <telerik:RadTileViewItem Height="auto" Name="radTileViewItem5" Width="auto"/> |
| </telerik:RadTileView> |
| </Grid> |
| </Window> |
| <telerik:RadGridView Name="radGridView1" AutoGenerateColumns="False" UseAlternateRowStyle="True"> |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewComboBoxColumn UniqueName="Active" DataMemberBinding="{Binding IsActive}" SelectedValueMemberPath="Value" DisplayMemberPath="Title" /> |
| <telerik:GridViewDataColumn UniqueName="User" DataMemberBinding="{Binding Name}" /> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
| public Window1() |
| { |
| InitializeComponent(); |
| var activeflaglist = new List<ActiveFlag>(); |
| activeflaglist.Add( new ActiveFlag{ Title = "Yes", Value = "Y" } ); |
| activeflaglist.Add( new ActiveFlag{ Title = "No", Value = "N" } ); |
| var userlist = new List<User>(); |
| userlist.Add( new User{ IsActive = "Y", Name = "Bob StartsActive" } ); |
| userlist.Add( new User{ IsActive = "N", Name = "Fred StartsInActive" } ); |
| userlist.Add( new User{ IsActive = "Y", Name = "John StartsActive" } ); |
| userlist.Add( new User{ IsActive = "Y", Name = "Alice StartsActive" } ); |
| userlist.Add( new User{ IsActive = "N", Name = "Janet StartsInActive" } ); |
| var activeColumn = (GridViewComboBoxColumn)radGridView1.Columns["Active"]; |
| activeColumn.ItemsSource = activeflaglist; |
| radGridView1.ItemsSource = userlist; |
| } |