I have a GridView with a few rows that have longer headers than I need. To address this, I implemented two-row headers, as shown in one of the screenshots. However, I am using a ControlPanel for a few settings, one of which is hiding and revealing columns in my GridView. This feature doesn't work properly with my two-row headers, as seen in the screenshots.
Initially, when I open the ControlPanel, all two-row headers disappear, leaving empty headers. When I hide a column with a two-row header, the name of the column (header) disappears from the ControlPanel, but the checkbox remains, as shown in the screenshots. When I reveal the column again, the header reappears.
My question is: How should I manage headers when I want them to be two-row?
Is there a reason the ArcGIS provider does not require a key? Following the documentation shows the map without any issues.
https://docs.telerik.com/devtools/wpf/controls/radmap/features/providers/arcgis
Also, is there a way to use other styles or basemaps other than what the control provides? In particular, the imagery hybrid, which is aerial imagery with the roads/labels.
Is it possible to change the max zoom? ArcGisWorldMapSourceBase.cs uses a max zoom of only 19. I have the same issue with the Bing and Azure providers. I'd like to use the higher zoom levels available and not have the map control scale the images, which will then be blurry.

I need to display a dataset of a scanned item where the dataset is a list of 3D values (X, Y and Z)
I want the diagram to display the Image as be a top-down view, using X and Y coordinates from the dataset using the the height (Z) to color encode the point using a color gradient.
Using a 3D RadCartesianChart3D component I have created something similar, see the attached RadCartesianChar3D image.
What I need now is a 2D image, something like what I try to illustrate in the attached ColorEncodedItem image.
What I need to know, is what component I should use for this job.
I expect that using a RadCartesianChart3D will be to CPU intensive for the platform I will be running this software on + I don't know, how to make a top-down view of a diagram using this component
Hello im using telerik version 2021.3.909
I have a RadDocking with a lot of RadPanes that are created with DockingPaneFactory
Most of those panes are FloatingDockable which means when i move my main screen the the 2nd(or any other) monitor those RadPanes stays afloat on the first screen.
I know i can change all of them to docking panels and this will solve my problem, but because i have a lot of RadPanes i cannot place them with Dock.Left/Right/etc
My goal is that all my RadPanes will move when the main window is moving(or resizing)
Hello,
I would like to ask for your help. When creating RadTreeView my ItemContainerStyle is not working. I would like to connect ViewModel IsExpanded with RadTreeViewItem but I can't do it. The component works fine for me if I define a HierarchicalDataTemplate for the Item template as follows.
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<Grid.Resources>
<HierarchicalDataTemplate x:Key="ItemTemplateTree"
ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" FontWeight="Bold" />
<TextBlock Text="{Binding Value, StringFormat=': {0}'}" />
</StackPanel>
</HierarchicalDataTemplate>
</Grid.Resources>
<telerik:RadTreeView Name="JsonTreeView"
ItemsSource="{Binding SelectedItemInContent.MediaTreeInfoJson}"
IsVirtualizing="True"
SelectionMode="Extended"
ItemTemplate="{StaticResource ItemTemplateTree}"
/>
</Grid>
But if I try to change the ItemContainerStyle like in the Demo examples "ShuttleControl_WPF", the whole tree disappears. As if it doesn't have a properly defined Style.
<Style x:Key="nodeStyle" TargetType="telerik:RadTreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
</Style>The model I use for Items is as follows:
public class JsonInfoTreeModel: ViewModelBase
{
private string name;
private string value;
private ObservableCollection<JsonInfoTreeModel> children;
private bool isExpanded;
public JsonInfoTreeModel()
{
Children = new ObservableCollection<JsonInfoTreeModel>();
IsExpanded = true;
}
public string Name
{
get { return name; }
set
{
if (name != value)
{
name = value;
OnPropertyChanged(nameof(Name));
}
}
}
public string Value
{
get { return value; }
set
{
if (this.value != value)
{
this.value = value;
OnPropertyChanged(nameof(Value));
}
}
}
public ObservableCollection<JsonInfoTreeModel> Children
{
get { return children; }
set
{
if (children != value)
{
children = value;
OnPropertyChanged(nameof(Children));
}
}
}
public bool IsExpanded
{
get { return isExpanded; }
set
{
if (isExpanded != value)
{
isExpanded = value;
OnPropertyChanged(nameof(IsExpanded));
}
}
}
}
Thank you for any help.
************** Update ****************
ExamleDesk.WPF.zip
Hi !
I'm using a radButton because if i use radRadioButton when i've "checked" it the background theme is green like the same unlock svg color, but i want make an exception background color when my RadRadioButton use this svg.
But my menu selection must be all radradiobutton because when one of them is selection page content (ViewModel) must change. the lock/unlock buttons are new because my project change and next access to the parts and conditioned by a validation page.
<UserControl.Resources>
<PathGeometry x:Key="UnLock" Figures="M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.89 2 10V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V10C18 8.9 17.11 8 16 8H15V6C15 4.34 16.34 3 18 3C19.66 3 21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17C8.9 17 8 16.11 8 15C8 13.9 8.9 13 10 13Z"/>
<PathGeometry x:Key="Lock" Figures="M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z"/>
</UserControl.Resources>
<Grid Grid.Column="1" Width="50" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,5">
<telerik:RadButton Cursor="Hand" Padding="4" Command="{Binding InitValidationCommand}">
<Viewbox Width="32" Height="32">
<Canvas Width="24" Height="24">
<Path>
<Path.Style>
<Style TargetType="Path">
<Setter Property="Data" Value="{StaticResource ResourceKey=Lock}"/>
<Setter Property="Fill" Value="#F44336"/>
<Style.Triggers>
<DataTrigger Binding="{Binding InitEtude.IsDeverrouille}" Value="True">
<Setter Property="Data" Value="{StaticResource ResourceKey=UnLock}" />
<Setter Property="Fill" Value="{telerik:Windows11Resource ResourceKey=AccentBrush}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
</Canvas>
</Viewbox>
</telerik:RadButton>
</Grid>
i've tested in other part of my project many option but to overflow theme checked definition :
- no success
<telerik:RadRadioButton Width="115" Height="50" Cursor="Hand" Margin="0,0,0,5" GroupName="test">
<ControlTemplate TargetType="telerik:RadRadioButton">
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="helpers:ThemeHelper.CheckedBackgroundBrush" Value="red"/>
<Setter Property="helpers:ThemeHelper.CheckedBrush" Value="blue"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="helpers:ThemeHelper.CheckedBackgroundBrush" Value="red"/>
<Setter Property="helpers:ThemeHelper.CheckedBrush" Value="blue"/>
</Trigger>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="helpers:ThemeHelper.CheckedBackgroundBrush" Value="red"/>
<Setter Property="helpers:ThemeHelper.CheckedBrush" Value="blue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</telerik:RadRadioButton>I want to save the expansion state of my TreeListView before I reload the data and I use the following code:
foreach (var item in _currentTreeListView.Items)
{
if (_currentTreeListView.IsExpanded(item))
{
expandedItems.Add(item);
}
}
// Data update and TreeListView reload
foreach (var item in expandedItems)
{
_currentTreeListView.ExpandHierarchyItem(item);
}But _currentTreeListView.IsExpanded(item) returns false no matter if the corresponding item is expanded in the TreeListView. What's the problem?
DELETE THIS QUESTION
<Style TargetType="telerik:TreeListViewRow">
<Setter Property="SelectedBackground" Value="Red"/>
</Style>I set the SelectedBackground property, but it didn't work. I hope you can tell me what to do?
Hello,
I need some advice about RadAutoCompleteBox.
When I click on RadAutoCompleteBox I want to see all possible results and then I will have a option to choose whether I want to select from them or start searching by typing. Searching for text and then selecting works fine, but unfortunately searching with nothing in it doesn't work. When I click on RadAutoCompleteBox all the results are displayed, but I can't select anything from them until I type something. The hover selection works fine, I just can't select anything if RadAutoCompleteBox.SearchText is empty. Could you help me how to solve this? Thank you very much.
I am sending part of my the source code and example (WpfApp1.zip) where it also not working.
...
<controls:RadAutoCompleteBoxFilter x:Key="RadAutoCompleteBoxFilter" />
...
<telerik:RadAutoCompleteBox Grid.Row="0"
x:Name="CaseAutoCompleteBox"
WatermarkContent="{x:Static rs:ResourceText.Start_Typing}"
ItemsSource="{Binding Suggestions}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
TextSearchMode="Contains"
TextSearchPath="Name"
DisplayMemberPath="Name"
AutoCompleteMode="SuggestAppend"
DropDownItemTemplate="{StaticResource CasesSearchAutoComplete}"
SelectionMode="Single"
SelectionChanged="CaseAutoCompleteBoxSelectionChanged"
PreviewMouseLeftButtonDown="OnPreviewMouseLeftButtonDown"
GotFocus="CaseAutoCompleteBox_OnGotFocus"
FilteringBehavior="{StaticResource RadAutoCompleteBoxFilter}"
/> public partial class AddMediaToCase
{
public AddMediaToCase()
{
InitializeComponent();
RadWindowInteropHelper.SetShowInTaskbar(this, true);
}
private void CaseAutoCompleteBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var autoCompleteBox = sender as RadAutoCompleteBox;
CaseInformationStackPanel.Visibility = autoCompleteBox.SelectedItem != null ? Visibility.Visible : Visibility.Collapsed;
}
private void OnPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (string.IsNullOrWhiteSpace(CaseAutoCompleteBox.SearchText))
{
CaseAutoCompleteBox.Populate(" ");
}
}
private void CaseAutoCompleteBox_OnGotFocus(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(CaseAutoCompleteBox.SearchText))
{
CaseAutoCompleteBox.Populate(" ");
}
}
} public class RadAutoCompleteBoxFilter : FilteringBehavior
{
public override IEnumerable<object> FindMatchingItems(string searchText, IList items,
IEnumerable<object> escapedItems, string textSearchPath,
TextSearchMode textSearchMode)
{
var result =
base.FindMatchingItems(searchText, items, escapedItems, textSearchPath, textSearchMode) as
IEnumerable<object>;
if (string.IsNullOrEmpty(searchText) || !result.Any())
{
return ((IEnumerable<object>)items).Where(x => !escapedItems.Contains(x));
}
return result;
}
}
