
Lets say that in my RadCartesianChart I have a line series with values between -1 to 10.
If a point value is -1 I would like the opacity to change.
For example if it is red with opacity 1 I'd like it to change to red opacity 0.5 until the value goes above zero.
Is this possible?


Hello,
I have strange issue with RadWindow. Sometimes the window does not show. I used VisualStudio to debug and see what is doing the application and it is stuck in window.Show(); What could be the problem? Its rare, becouse it is random, sometimes the application show the windows as expected.
For more information, Im using MEF to compose aplication with plugins.
Thank you and regards!

Hello.
I want to customize the DoughnutSeries chart label and legend.
1. (Violet square) I succeeded in losing the text when the label value is 0.
However, I do not know how to delete it from the connector part.
2. (Orange square) I want to make the legend disappear for a value of 0, is it possible?
3. (Blue square) If you adjust the window size when aligning the pie chart to the left, the chart size is fixed.
However, if you set Stretch, the chart is shown in the center and the left and right margins increase. Is there a solution?
<*.xaml>
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <telerik:RadPieChart Grid.Column="0" x:Name="connectionChart" > <telerik:RadPieChart.SmartLabelsStrategy> <telerik:PieChartSmartLabelsStrategy DisplayMode="SpiderAlignedOutwards"/> </telerik:RadPieChart.SmartLabelsStrategy> <telerik:RadPieChart.Series> <telerik:DoughnutSeries ItemsSource="{Binding ConnectionPieData}" ClipToPlotArea="False" ValueBinding="Value" RadiusFactor="0.7" InnerRadiusFactor="0.25" ShowLabels="True"> <telerik:PieSeries.LabelDefinitions> <telerik:ChartSeriesLabelDefinition> <telerik:ChartSeriesLabelDefinition.Template> <DataTemplate> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding Value, Converter={StaticResource ValueZeroConverter}}"/> </StackPanel> </DataTemplate> </telerik:ChartSeriesLabelDefinition.Template> </telerik:ChartSeriesLabelDefinition> </telerik:PieSeries.LabelDefinitions> <telerik:DoughnutSeries.SliceStyles> <Style TargetType="Path"> <Setter Property="Fill" Value="{Binding DataItem.Color}"/> </Style> </telerik:DoughnutSeries.SliceStyles> <telerik:PieSeries.LegendSettings> <telerik:DataPointLegendSettings TitleBinding="Title"/> </telerik:PieSeries.LegendSettings> <telerik:PieSeries.LabelConnectorsSettings> <telerik:ChartSeriesLabelConnectorsSettings/> </telerik:PieSeries.LabelConnectorsSettings> </telerik:DoughnutSeries> </telerik:RadPieChart.Series> </telerik:RadPieChart> <telerik:RadLegend Grid.Column="1" Items="{Binding ElementName=connectionChart, Path=LegendItems}" HorizontalAlignment="Left" VerticalAlignment="Center"/> </Grid>
<*.xaml.cs ( Value Zero Converter) >
public class ValueZeroConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var slicesValue = double.Parse(value.ToString()); if (slicesValue == 0) { return string.Empty; } return string.Format("{0:N} %", slicesValue); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }
<*.model>
public class ReportGraphModel : ModelBase{ public string Title { get; set; } public double Value { get; set; } public Brush Color { get; set; }}public class MainViewModel {... ConnectionPieData = new ObservableCollection<ReportGraphModel> { new ReportGraphModel { Title = "Error", Value =error, Color = new SolidColorBrush(Colors.Red)}, new ReportGraphModel { Title = "Exception", Value =exception, Color = new SolidColorBrush(Colors.Violet)}, new ReportGraphModel { Title = "Normal", Value =normal, Color = new SolidColorBrush(Colors.Green)}, };}
Thanks.

Is there an easy method to adding/overriding a Drop Shadow for a RadWindow that's based on XAML Theme (Style manager). Either via XAML attributes or code behind.
I looked at this process here but it doesn't work with Themes.
Cheers, Rob.
Hi.
Microsoft Excel has a functionality for the outline layout of pivot tables called "Repeat All Item Labels", i would like to know if Telerik RadPivotGrid has the same functionality available, and if not, if its possible to achieve this somehow.
Thank you.

I ran into a small issue while using the expander control in a window without a border. The issue is that when the expand button is clicked the control seems to jump to the expanded state, then jump back to the collapsed state and then play the expand animation. This only occurs with the following window properties:
My question is this; has anyone come across this and found a good way around? We could probably create another animation and/or control, but it would be great if we can stay as close to the stock standard Telerik controls as possible.
Thanks in advance.
The code below is from the example here but with a removed window border
<Window x:Class="ExpanderSample.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" WindowStyle="None" AllowsTransparency="True" SizeToContent="WidthAndHeight" Height="350" Width="525"> <Window.Resources> <Style TargetType="telerik:RadExpander"> <Setter Property="telerik:AnimationManager.AnimationSelector"> <Setter.Value> <telerik:AnimationSelector> <telerik:ExpanderExpandCollapseAnimation AnimationName="Expand" Direction="In" TargetElementName="Content" SpeedRatio="0.3" /> <telerik:ExpanderExpandCollapseAnimation AnimationName="Collapse" Direction="Out" TargetElementName="Content" SpeedRatio="0.3" /> </telerik:AnimationSelector> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <Grid.RowDefinitions> <RowDefinition Height="150"/> <RowDefinition Height="*" /> <RowDefinition Height="*" /> <RowDefinition Height="20" /> </Grid.RowDefinitions> <telerik:RadExpander Header="MyHeader" Grid.Row="1" IsExpanded="False" VerticalContentAlignment="Top" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" > <telerik:RadExpander.Content > <Grid Name="ContentGrid" Height="Auto"> <Grid.RowDefinitions> <RowDefinition Height="20"/> <RowDefinition Height="20" /> <RowDefinition Height="20" /> <RowDefinition Height="20" /> </Grid.RowDefinitions> <TextBox Grid.Row="0" >my content</TextBox> <TextBox Grid.Row="1" >my content</TextBox> <TextBox Grid.Row="2" >my content</TextBox> </Grid> </telerik:RadExpander.Content> </telerik:RadExpander> </Grid></Window>All windows based on RadWindow in VS 2019 IDE designer now render on a Transparent background??? If I use the standard MS Window the background is as expected (not transparent).
Using XAML assemblies.
I need to get this resolved ASAP.
Cheers, Rob.

<telerik:RadDocking Grid.Row="2" Grid.ColumnSpan="5" Grid.Column="0"> <telerik:RadDocking.DocumentHost > <telerik:RadSplitContainer > <telerik:RadPaneGroup > <telerik:RadDocumentPane Visibility="Collapsed" CanUserClose="False" telerik:RadDocking.FloatingSize="300 300" > <widgets:WidgetRadDiagram x:Name="xDiagram" ContextMenu="{x:Null}" telerik:DiagramSurface.IsVirtualizing="True" local:WidgetDragDropBehavior.IsEnabled="True" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" ShapeSerialized="OnDiagramShapeSerialized" ShapeDeserialized="OnDiagramShapeDeserialized" SizeChanged="RadDiagram_SizeChanged" SelectionChanged="xDiagram_SelectionChanged" IsEditable="True" Background="{Binding SelectedColor, ElementName=BackgroundColorEditor, Converter={StaticResource customColorToBrushConverter}, Mode=TwoWay}" IsBackgroundSurfaceVisible="{Binding IsGridVisible, Mode=TwoWay}" IsSnapToGridEnabled="{Binding IsSnapEnabled, Mode=TwoWay}" primitives:BackgroundGrid.CellSize="{Binding CellSize, Mode=TwoWay}" primitives:BackgroundGrid.LineStroke="{Binding SelectedColor, ElementName=GridColorEditor, Converter={StaticResource customColorToBrushConverter}, Mode=TwoWay}" primitives:AlignmentAdorner.HorizontalLineStroke="Green" primitives:AlignmentAdorner.HorizontalLineStrokeDashArray="2 1" primitives:AlignmentAdorner.HorizontalLineStrokeThickness="2" primitives:AlignmentAdorner.VerticalLineStroke="Green" primitives:AlignmentAdorner.VerticalLineStrokeDashArray="1 2" primitives:AlignmentAdorner.VerticalLineStrokeThickness="2" SnapX="{Binding SnapX, Mode=TwoWay}" SnapY="{Binding SnapY, Mode=TwoWay}" SelectionMode="Multiple" RectSelectionMode="Full" AutoLayout="False" > <telerik:RadContextMenu.ContextMenu> <telerik:RadContextMenu x:Name="ContextMenuWidgetDiagram" ItemTemplate="{StaticResource MenuItemTemplate}" ItemClick="ContextMenuWidgetDiagram_OnItemClick" > </telerik:RadContextMenu> </telerik:RadContextMenu.ContextMenu> <primitives:ItemInformationAdorner.AdditionalContent > <telerik:SettingsPane Diagram="{Binding ElementName=xDiagram}" /> </primitives:ItemInformationAdorner.AdditionalContent> </widgets:WidgetRadDiagram> </telerik:RadDocumentPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> </telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer InitialPosition="DockedLeft" MinWidth="350"> <telerik:RadPaneGroup > <!--Toolbox--> <telerik:RadPane Header="Toolbox" IsPinned="False" Visibility="{Binding WidgetToolboxVisibility}"> <telerik:RadDiagramToolbox x:Name="ToolBox" Title="Gallery" IsOpen="False" ItemsSource="{Binding Items}" ItemTemplate="{StaticResource ToolboxGroupTemplate}" Style="{StaticResource RadDiagramToolboxStyle1}" /> </telerik:RadPane> <telerik:RadPane x:Name="DiagramPropertiesPane" Header="DiagramProperties" IsPinned="False" > <!--IsPinned="True" Visibility="Visible">--> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" Text="Background Color" FontSize="12" VerticalAlignment="Center" FontWeight="Bold" Margin="5"/> <telerik:RadColorPicker Grid.Row="0" Grid.Column="1" x:Name="BackgroundColorEditor" Margin="5" Width="50" HorizontalAlignment="Left" IsRecentColorsActive="True" AutomaticColor="Black" SelectedColorChanged="BackgroundColorEditor_SelectedColorChanged" /> <TextBlock Grid.Row="1" Grid.Column="0" Text="Text Color" FontSize="12" VerticalAlignment="Center" FontWeight="Bold" Margin="5"/> <telerik:RadColorPicker Grid.Row="1" Grid.Column="1" x:Name="ForegroundColorEditor" Margin="5" Width="50" HorizontalAlignment="Left" IsRecentColorsActive="True" SelectedColor="Yellow" AutomaticColor="Yellow" SelectedColorChanged="ForeGroundColorEditor_OnSelectedColorChanged"/> <TextBlock Grid.Row="2" Grid.Column="0" Text="Font" FontSize="12" VerticalAlignment="Center" FontWeight="Bold" Margin="5"/> <ComboBox x:Name="FontFamilyComboBox" Grid.Row="2" Grid.Column="1" Margin="5" ItemsSource="{Binding Source={StaticResource myFonts}}" FontSize="10" Height="23" SelectionChanged="FontFamilyComboBox_OnSelectionChanged" > <ComboBox.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel /> </ItemsPanelTemplate> </ComboBox.ItemsPanel> <ComboBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding}" FontFamily="{Binding}" Height="20"/> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> <ComboBox x:Name="FontSizeComboBox" Grid.Row="2" Grid.Column="2" Width="50" Margin="5" SelectedValue="{Binding ElementName=xDiagram, Path=FontSize}" FontSize="10" SelectionChanged="FontSizeComboBox_OnSelectionChanged" /> <CheckBox x:Name="CheckBoxShowGrid" Grid.Row="3" Grid.Column="0" Content="Show Grid" VerticalAlignment="Center" FontSize="12" FontWeight="Bold" IsChecked="{Binding IsGridVisible, Mode=TwoWay}" Margin="5"/> <TextBlock Grid.Row="4" Grid.Column="0" Text="Grid Color" FontSize="12" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Visibility="{Binding ElementName=CheckBoxShowGrid, Path=IsChecked, Converter={StaticResource boolVisibilityConverter}}" /> <telerik:RadColorPicker Grid.Row="4" Grid.Column="1" x:Name="GridColorEditor" Margin="5" Width="50" SelectedColor="Gray" AutomaticColor="Gray" Visibility="{Binding ElementName=CheckBoxShowGrid, Path=IsChecked, Converter={StaticResource boolVisibilityConverter}}"/> <TextBlock Grid.Row="5" Grid.Column="0" Text="Cell Size" FontSize="12" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5" Visibility="{Binding ElementName=CheckBoxShowGrid, Path=IsChecked, Converter={StaticResource boolVisibilityConverter}}"/> <TextBox Grid.Row="5" Grid.Column="1" VerticalAlignment="Center" VerticalContentAlignment="Center" Margin="5" Text="{Binding CellSize, Mode=TwoWay}" Visibility="{Binding ElementName=CheckBoxShowGrid, Path=IsChecked, Converter={StaticResource boolVisibilityConverter}}"/> </Grid> </Grid> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> <telerik:GridViewCell Content="GridViewCell" Height="100" Width="100" /> </telerik:RadDocking>My RadDigaram Toolbox is contained in a RadSplitContainer with the InitialPosition="DockedLeft". When the diagram is displayed initially, the RadDiagramToolbox does a flyout correctly, fully displaying all widgets in the toolbox. After saving and reopening the diagram the toolbox will will only flyout partially. If the user pins the tool box, it will expand to the correct size, once unpinned it reverts back to a small size. Unfortunately I am unable to take screenshots due to the flyout closing once the mouse is moved off the flyout. The RadDigram is in the WidgetDiagram class which saved and loaded via the code below.
public void SaveRadDocking(RadDocking radDocking) { try { System.Windows.Forms.FolderBrowserDialog folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog(); folderBrowserDialog.RootFolder = Environment.SpecialFolder.Desktop; folderBrowserDialog.SelectedPath = SaveFolder; System.Windows.Forms.DialogResult result = folderBrowserDialog.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { SaveFolder = folderBrowserDialog.SelectedPath; Configuration.Instance.SetDisplayPath(SaveFolder); StringBuilder paneSizeStringBuilder = new StringBuilder(); if (Panes.Count > 0) { foreach (var pane in Panes) { paneSizeStringBuilder.AppendFormat("{0}:{1},", pane.ActualHeight, pane.ActualWidth); } Configuration.Instance.SetDisplaySizes(paneSizeStringBuilder.ToString().Remove(paneSizeStringBuilder.Length - 1, 1)); } using (FileStream fileStream = File.Create(SaveFolder + dockingLayoutFileName)) { fileStream.Seek(0, SeekOrigin.Begin); radDocking.SaveLayout(fileStream); } } } catch (Exception ex) { string message = string.Format("{0}/n{1}", ex.Message, ex.StackTrace); MessageBox.Show(message, "Save Display Error", MessageBoxButton.OK, MessageBoxImage.Error); } }public void LoadRadDocking(RadDocking radDocking) { System.Windows.Forms.FolderBrowserDialog folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog(); folderBrowserDialog.RootFolder = Environment.SpecialFolder.Desktop; folderBrowserDialog.SelectedPath = SaveFolder; System.Windows.Forms.DialogResult result = folderBrowserDialog.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { SaveFolder = folderBrowserDialog.SelectedPath; Manager.Instance.CurrentDataRequestor.Pause = true; if (Panes.Count > 0) { for (int index = 0; index <= Panes.Count; index++) { RadPane radPane = Panes[0]; RemovePane(radPane, false); } } Manager.ServerCommunicator.WindowIsBusy = true; LoadDisplays(radDocking, SaveFolder); Manager.Instance.CurrentDataRequestor.Pause = false; } } public void LoadDisplays(RadDocking radDocking, string displaysFolderPath) { Manager.Instance.CurrentDataRequestor.Pause = true; Manager.Instance.WidgetLoading = true; if (File.Exists(displaysFolderPath + dockingLayoutFileName)) { SaveFolder = displaysFolderPath; layout = File.ReadAllText(displaysFolderPath + dockingLayoutFileName); if (!string.IsNullOrWhiteSpace(layout)) { using (Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(layout))) { stream.Seek(0, SeekOrigin.Begin); radDocking.LoadLayout(stream); } } } foreach (ISubscriber widget in Manager.Subscribers) { if (widget.WidgetType != WidgetTypes.Text && string.IsNullOrEmpty(widget.TextWidgetName)) { //if it is a text widget loop through all subscribers looking at // non text widgets for a matching name. If a widget with Matching //Title is found assign the textwidgets name to the non text widget if (widget.Name != null) { if (!Manager.WidgetTextWidgetNames.ContainsKey(widget.Name)) { foreach (ISubscriber subscriber in Manager.Subscribers) { if (subscriber.WidgetType == WidgetTypes.Text) { if (widget.Title == subscriber.Title) { if (!Manager.WidgetTextWidgetNames.ContainsValue(subscriber.Name)) { widget.TextWidgetName = subscriber.Name; Manager.WidgetTextWidgetNames.Add(widget.Name, subscriber.Name); break; } } } } } } } } }