I have a class inheriting from RadWindow called ColorEditor expected to be shown by the following code from within a response to a color picker face click from another RadWindow:
private void EditFaceColor_Click(object sender, RoutedEventArgs e) {
var source = sender as FrameworkElement;
var font = DataContext as FontModel;
if (font == null) return;
var colorEditor = new ColorEditor
{
Alpha = false,
InitialColor = Color.FromArgb(font.Face.Color.A, font.Face.Color.R, font.Face.Color.G, font.Face.Color.B)
};
var initialColor = font.Face.Color;
colorEditor.DataContext = font.Face;
if (source != null)
{
var loc = source.PointToScreen(new Point(0, 0));
colorEditor.Left = loc.X;
colorEditor.Top = loc.Y;
}
colorEditor.Owner = this;
colorEditor.ShowDialog();
if (colorEditor.DialogResult != true)
{
font.Face.Color = initialColor;
}
}
But the window does not show and freezes the entire application.
It also doesn't show up by calling Show(); or by trying to bring it to the front after showing.
After inserting some breakpoints in OnActivate and OnDeactivate methods in ColorEditor, I noticed that the color editor gets stuck in a loop of OnActivate, immediately followed by OnDeactivate, then a pause, then OnActivate, followed by an immediate OnDeactivate again.
Does anyone know what might be happening here?
Thank you!

Hello,
I'm defining some shapes for the raddiagram and I can see that at design time however when I set the connectors I can only see them at run time. So it's a pain to see where the connectors will end up by having to compile and run every time. I don't mind even doing it at run time if I can edit the live xaml but that is not showing up. A sample project would be great!
Thanks,
Amiel

Hello!
We want to design RadGridView with nested ColumnGroups, as in example. But they are rendering not as expected (see unexpected.png). As expected in expected.png. How we can get it? Thanks for support
<telerik:RadGridView> <telerik:RadGridView.ColumnGroups > <telerik:GridViewColumnGroup Name="Level1group0" > <telerik:GridViewColumnGroup.ChildGroups> <telerik:GridViewColumnGroup Name="Level1group11"> <telerik:GridViewColumnGroup.ChildGroups> <telerik:GridViewColumnGroup Name="Level2group11"/> <telerik:GridViewColumnGroup Name="Level2group12"/> </telerik:GridViewColumnGroup.ChildGroups> </telerik:GridViewColumnGroup> <telerik:GridViewColumnGroup Name="Level1group12"/> </telerik:GridViewColumnGroup.ChildGroups> </telerik:GridViewColumnGroup> </telerik:RadGridView.ColumnGroups> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn ColumnGroupName="Level1group11" Width="200" Header="Column1"/> <telerik:GridViewDataColumn ColumnGroupName="Level1group12" Width="200" Header="Column2"/> <telerik:GridViewDataColumn ColumnGroupName="Level2group11" Width="200" Header="Column3"/> <telerik:GridViewDataColumn ColumnGroupName="Level2group12" Width="200" Header="Column4"/> </telerik:RadGridView.Columns></telerik:RadGridView>Is it possible to set the Datafield labels horizontal position when the columns are auto generated in code? The look of left justified labels is not the best look for my customers application. It seems odd that there is not simple property that could be set to achieve this in the AutoGeneratingField event.
Some labels are large and some are small and make it difficult on the eyes to follow a small label so far from it's associated control.
Thank you...

Hi,
i have a radgridview on my wpf app. This grids itemssouce is bound to a List of objects in my ViewModel (MVVM).
When i click on a Button a new element is added to the bound list. This creates a new Row in my DataGrid like expected.
Question:
i want to focus the last cell in the new row after the new row was added.
I already have the correct way of doing this (see snippet below) but i dont know WHEN i should execute this code. When the bound items are changed its too early to do this and i cant use events like "LayoutUpdated" because it triggers too often.
Is there any possibility to launch this code AFTER the GridViewRow was Added?
private void OnInitializedGridViewCommand(RadGridView obj) { obj.Items.CollectionChanged += (sender, e) => { var grid = obj as RadGridView; var rows = obj.ChildrenOfType<GridViewRow>().ToList(); if (rows.Count < 1) return; var cells = rows[rows.Count - 1].ChildrenOfType<GridViewCell>().ToList(); var box = cells[cells.Count - 1].ChildrenOfType<RadComboBox>(); box.First().Focus(); }; }
Hi~
I want to show RadialMenu over TileViewItem.
TileViewItem hide RadialMenu.
Here is example code.
<Window x:Class="TileView.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:tileView="clr-namespace:Telerik.Windows.Controls.TileView;assembly=Telerik.Windows.Controls.Navigation"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style TargetType="telerik:RadTileView">
<Setter Property="PreservePositionWhenMaximized" Value="True" />
<Setter Property="telerik:TileViewPanel.IsVirtualized" Value="True" />
<Setter Property="IsAutoScrollingEnabled" Value="True" />
<Setter Property="TileStateChangeTrigger" Value="SingleClick" />
<Setter Property="MinimizedColumnWidth" Value="180" />
<Setter Property="MinimizedRowHeight" Value="155" />
<Setter Property="RowHeight" Value="250" />
<Setter Property="ColumnWidth" Value="250" />
<Setter Property="ColumnsCount" Value="3" />
</Style>
<Style TargetType="telerik:RadTileViewItem">
<Setter Property="Background" Value="#eaeaea" />
</Style>
<DataTemplate x:Key="sizeTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Item" />
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="contentTemplate">
<StackPanel>
<telerik:RadRadialMenu Panel.ZIndex="99999">
<telerik:RadRadialMenuItem Header="Item 1" />
<telerik:RadRadialMenuItem Header="Item 2" />
<telerik:RadRadialMenuItem Header="Item 3" />
</telerik:RadRadialMenu>
</StackPanel>
</DataTemplate>
</Window.Resources>
<Grid>
<telerik:RadTileView ItemsSource="{Binding}" ItemTemplate="{StaticResource sizeTemplate}"
ContentTemplate="{StaticResource contentTemplate}" />
</Grid>
</Window>
You can see capture file "Actual.png"
I want to "Expect.png" screen.
How?
I have a major issue with checkbox columns in the RadGridView for WPF. I tried using both Green Theme and the Expression Dark. I prefer the Green theme but here is my problem:
When the pointer is still in the focus of the cell right after clicking all is good. The checkbox appears as white on green and is obviously checked.
When the pointer loses focus witht he checkbox cell, the checkbox appears as white on white. NO GOOD! How do I fix this?
When you put the focus on a new row, all looks fine as the checkbox appears White on Black.
I tried setting EnableLostFocusSelectedState="False" on the Grid as I read in another similar post that this might fix the issue, but it does not.
I really hope the answer is not to modify the default themes as the whole reason we bought this package was to make life easier. Not more difficult. It is totally illogical to show white on white for a default theme for a checkbox because it defeats the purpose of a checkbox.
Thank you...

I have created a custom data row and a custom data table class by extending both MyDataRow and MyDataTable classes. MyDataRow and MyDataTable are defined in my data set file (.xsd). I.e., I'm using a real database. MyDataTable has a few fields (Id, Status, DateCreated, etc...).
In XAML, I have set RadGridView control's ItemsSource property to a DataView object (bound to ViewModel's property). In short, new MyDataTable().DefaultView. Naturally it's been filled with data from the database before getting the DefaultView.
The reason why I created the custom classes was that I want to add additional property (IsReadOnly) to be used together with IsReadOnlyBinding and I don't want to change the database or the data set file structure.
This is how I have created the custom classes (the second answer): https://stackoverflow.com/questions/3101412/how-to-extend-datarow-and-datatable-in-c-sharp-with-additional-properties-and-me
When I set grid's IsReadOnlyBinding="{Binding IsReadOnly}", an exception is thrown when try to add a new row or edit an existing one. The exception says: Property with specified name: IsReadOnly cannot be found on component: System.Data.DataRowView
However, if I set IsReadOnlyBinding="{Binding Status}", it works. Status field already exist in my database table.
Is the grid using internally the data set schema (.xsd) or what might cause this? Any ideas how to solve this?
I am trying to accomplish functionality where rows cannot be edited until I click a modify button (which sets IsReadOnly to false for the selected row) but I still want to add new rows using the grid's new row button.
I wish I could attach actual code but there's a lot of it and it's not easy to copy-paste it here. I could try to put together a test project if my description is not clear enough.

I've been banging my head everywhere trying to figure out how to hide values bound to a GridViewComboBox column.
I'm using ItemsSourceBinding to populate the dropdown with values and then matching up to default values from ItemsSource. Basically some of the values that are prepopulated from another system like "Approved" or "New" I want to not make those options selectable when the user tries to edit the cell even though they can see them.
<telerik:RadGridView VerticalAlignment="Stretch" Grid.Row="1" x:Name="PoliciesGridView" ItemsSource="{Binding Policies, Mode=TwoWay}" AutoGenerateColumns="False" DataLoaded="PoliciesGridView_DataLoaded" SelectionMode="Extended" ScrollViewer.VerticalScrollBarVisibility="Visible" CellEditEnded="CellEditEnded" GroupRenderMode="Flat" CanUserDeleteRows="False" Grouped="Grid_Grouped" KeyUp="HandleKeyUpEvent">
<telerik:EventToCommandBehavior.EventBindings>
<telerik:EventBinding Command="{Binding EditCommand}" EventName="BeginningEdit" PassEventArgsToCommand="True"/>
</telerik:EventToCommandBehavior.EventBindings>
<telerik:GridViewComboBoxColumn DataMemberBinding="{Binding CurrentStatus, Mode=TwoWay}" Tag="CurrentStatus" Header="Status" ItemsSourceBinding="{Binding PolicyStatusCodeTable}" DisplayMemberPath="PolicyStatusDsc" SelectedValueMemberPath="PolicyStatusDsc" CellStyleSelector="{StaticResource editedCellStyle }" TextAlignment="Right"/>
I have been successful in setting up an EditCommand to cancel the edit if the Status is Approved thereby making any rows that are Approved read-only as well as reverting the value back to the original value should they choose Approved. It's a hack but I feel like there should be a way to just hide those options from the gridviewcombobox so users can't select them.