I want to hide YAxies when LineSeries is not showing.I have checkBoxes to show and hide LineSeries and property bool IsLineSeriesVisible.
<telerik:LineSeries ItemsSource="{Binding data, Mode=OneWay}" CategoryBinding="time" ValueBinding="value" >
<telerik:LineSeries.VerticalAxis>
<telerik:LinearAxis x:Name="yaxis" HorizontalLocation="Right" Title="{global:LocalizeKey TitleResKey, Default='value'}">
<telerik:LinearAxis.Style>
<Style TargetType="telerik:LinearAxis">
<Style.Triggers>
<DataTrigger Binding="{Binding IsLineSeriesVisible}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:LinearAxis.Style>
</telerik:LinearAxis>
</telerik:LineSeries.VerticalAxis>
</telerik:LineSeries>
And this is my xaml, dataTrigger is not working when i remove trigger it hiddes yAxis but when i try to add trigger to hide axies when series is not showing it doesn`t do anything
Hello,
I am facing application crash issue with : Out of memory exception.
While analysing, we got to know that scatterDataPoint is taking more memory
I am trying to add multiple ScatterLineSeries in telerik:RadCartesianChart.
XAML Code :
<telerik:RadCartesianChart Palette="Windows8" MouseDoubleClick="RadCartesianChart_MouseDoubleClick">
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:LinearAxis Minimum="0"
Maximum="5000"/>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:LinearAxis Minimum="0"
Maximum="10000" />
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.Series>
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Red" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Blue" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Pink" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Yellow" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Green" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Orange"/>
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="AliceBlue" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Black" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Violet" />
<telerik:ScatterLineSeries ItemsSource="{Binding}" YValueBinding="YValue" XValueBinding="XValue" BorderBrush="Red" StrokeThickness="3" Stroke="Cornsilk" />
</telerik:RadCartesianChart.Series>
</telerik:RadCartesianChart>
I am updating value in specific time intervarl. Example:
We have created 1 observable collection in which we are adding plot values(xaxis,yaxis)
public class PlotInfo
{
public double XValue { get; set; }
public double YValue { get; set; }
}
ObservableCollection<PlotInfo> ColPlotInfo = new ObservableCollection<PlotInfo>();
//Initially adding 100 records in observable collection & binding values to CartesianChart series.
ArrayPlotInfo = arrayPlotInfo = new ChartViewModel.PlotInfo[100];
for (int i = 0; i<100; i++)
{
ColPlotInfo.Add(new ChartViewModel.PlotInfo() { XValue = i + 100, YValue = i + 101 });
}
On double click of chart, we are adding records on Timer_Elapsed.
private void RadCartesianChart_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
Timer timer = new Timer(100);
timer.Enabled = true;
timer.Elapsed += Timer_Elapsed;
}
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
App.Current.Dispatcher.Invoke((Action)delegate
{
ChartViewModel.PlotInfo plotInfo = new ChartViewModel.PlotInfo() { XValue = (x = x + DateTime.Now.Second), YValue = DateTime.Now.Second };
ColPlotInfo.Add(plotInfo);
});
}
Here if we do not bind to series then memory is not icreaseing it only increases when we update graph and application gets crashed.
I tried many things like –
Can anyone please help me with this? What else can I try so that memory increasing will be restrict?
Target Application : WPF
.Net Framework : 4.6.2
Telerik Version : 2017.2.503.45 (Telerik.Windows.Controls)
Hi
We are using RadBusyIndicator control for the client application, which raising the bellow exception randmoly on Production for long time.
Unfortunately it is not reproducible in development environment.
But as per the AppInsight log, assuming that happens on StoaryBoard animation as highlighted in the below style code.
Collection was modified; enumeration operation may not execute.
Type: System.InvalidOperationException
Message: Collection was modifined; enumeration operation may not execute.
Source:mscrolib
Help link:
Data: System.Collection.ListDictionaryInternal
TargetSite: System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
Stack Trace: at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at Telerik.Windows.Controls.Animation.AnimationManager.InvkokeCallbacks(Storyboard storyboard)
at Telerik.Windows.Controls.Animation.AnimationManager.OnStoryboardCompleted(Object sender, EventArgs e)
at System.Windows.Media.Animation.Clock.FireEvent(EventPrivateKey key)
at System.Windows.Media.Animation.Clock.RaiseAccumulatedEvents()
at System.Windows.Media.Animation.TimeManager.RaiseEnqueuedEvents()
at System.Windows.Media.Animation.TimeManager.Tick()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)And following is the style used for the busy indicator. There is no clue to find the root cause except this exception log.
<Style x:Key="RadBusyIndicatorStyle"
TargetType="{x:Type telerik:RadBusyIndicator}">
<Setter Property="BusyContent"
Value="Loading..." />
<Setter Property="IsTabStop"
Value="False" />
<Setter Property="DisplayAfter"
Value="0:0:0.1" />
<Setter Property="BorderBrush"
Value="#FFD0D0D0" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="White"
Offset="0" />
<GradientStop Color="#A9DCDADA"
Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="BorderThickness"
Value="1" />
<Setter Property="ProgressBarStyle">
<Setter.Value>
<Style TargetType="{x:Type telerik:RadProgressBar}">
<Setter Property="Margin"
Value="15,15,15,5" />
<Setter Property="IsIndeterminate"
Value="True" />
<Setter Property="Maximum"
Value="100" />
<Setter Property="Orientation"
Value="Horizontal" />
<Setter Property="IsTabStop"
Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type telerik:RadProgressBar}">
<Grid>
<Path x:Name="IndeterminateBackgroundDonut"
Height="44"
RenderTransformOrigin="0.5,0.5"
Stroke="#FF133E80"
Width="44">
<Path.Data>
<GeometryGroup FillRule="EvenOdd">
<EllipseGeometry Center="22,22"
RadiusY="20"
RadiusX="20" />
<EllipseGeometry Center="22,22"
RadiusY="14"
RadiusX="14" />
</GeometryGroup>
</Path.Data>
<Path.Fill>
<RadialGradientBrush>
<GradientStop Color="#FF224272"
Offset="0" />
<GradientStop Color="#FF224272"
Offset="0.921" />
<GradientStop Color="#FFC8DCFB"
Offset="0.254" />
<GradientStop Color="#FF335A95"
Offset="0.877" />
</RadialGradientBrush>
</Path.Fill>
</Path>
<Path x:Name="IndeterminateDonut"
Height="44"
RenderTransformOrigin="0.5,0.5"
Visibility="Collapsed"
Width="44">
<Path.Data>
<GeometryGroup FillRule="EvenOdd">
<EllipseGeometry Center="22,22"
RadiusY="20"
RadiusX="20" />
<EllipseGeometry Center="22,22"
RadiusY="14"
RadiusX="14" />
</GeometryGroup>
</Path.Data>
<Path.Fill>
<RadialGradientBrush Center="0.5,-0.23"
GradientOrigin="0.8,0.25"
RadiusY="0.68"
RadiusX="0.68">
<GradientStop Color="#BFFFFFFF"
Offset="0" />
<GradientStop Color="Transparent"
Offset="1" />
<GradientStop Color="#21FFFFFF"
Offset="0.65" />
</RadialGradientBrush>
</Path.Fill>
<Path.RenderTransform>
<RotateTransform />
</Path.RenderTransform>
</Path>
<Grid x:Name="ProgressBarTrack"
Height="24"
RenderTransformOrigin="0.5,0.5"
Width="24">
<Grid.Clip>
<EllipseGeometry Center="12,12"
RadiusY="12"
RadiusX="12" />
</Grid.Clip>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RenderTransform>
<RotateTransform Angle="-90" />
</Grid.RenderTransform>
<Rectangle x:Name="SkipValueSpacer" />
<Rectangle x:Name="ProgressBarIndicator"
Grid.Column="1">
<Rectangle.Fill>
<RadialGradientBrush>
<GradientStop Color="#FFCCCCCC"
Offset="1" />
<GradientStop Color="White" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsIndeterminate"
Value="True">
<Trigger.EnterActions>
<BeginStoryboard x:Name="MouseOverStoryboard_BeginStoryboard">
<Storyboard RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames BeginTime="0"
Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"
Storyboard.TargetName="IndeterminateDonut">
<SplineDoubleKeyFrame KeyTime="0:0:1"
Value="360" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<StopStoryboard BeginStoryboardName="MouseOverStoryboard_BeginStoryboard" />
</Trigger.ExitActions>
<Setter Property="Visibility"
TargetName="IndeterminateDonut"
Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
<Setter Property="Telerik_Windows_Controls_Animation:AnimationManager.AnimationSelector">
<Setter.Value>
<Telerik_Windows_Controls_Animation:AnimationSelector>
<Telerik_Windows_Controls_Animation:FadeAnimation AnimationName="Hide"
Direction="Out"
Easing="{x:Null}"
MaxOpacity="1"
MinOpacity="0"
SpeedRatio="0"
TargetElementName="Indicator" />
<Telerik_Windows_Controls_Animation:FadeAnimation AnimationName="Show"
Direction="In"
Easing="{x:Null}"
MaxOpacity="1"
MinOpacity="0"
SpeedRatio="0"
TargetElementName="Indicator" />
</Telerik_Windows_Controls_Animation:AnimationSelector>
</Setter.Value>
</Setter>
<Setter Property="OverlayStyle">
<Setter.Value>
<Style TargetType="{x:Type Rectangle}">
<Setter Property="Fill"
Value="#88FFFFFF" />
</Style>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type telerik:RadBusyIndicator}">
<Grid Background="{TemplateBinding Background}">
<ContentControl x:Name="Content"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
IsEnabled="False"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" IsTabStop="{TemplateBinding IsTabStop}"/>
<Rectangle x:Name="Overlay"
Style="{TemplateBinding OverlayStyle}" />
<Border x:Name="Indicator"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="2"
HorizontalAlignment="Center"
MinWidth="180"
VerticalAlignment="Center"
Background="#FFBCBCBC"
BorderBrush="#FF254474"
SnapsToDevicePixels="True">
<StackPanel>
<telerik:RadProgressBar x:Name="ProgressBar"
IsIndeterminate="{TemplateBinding IsIndeterminate}"
Maximum="100"
Style="{TemplateBinding ProgressBarStyle}"
Value="{TemplateBinding ProgressValue}" />
<ContentPresenter ContentTemplate="{TemplateBinding BusyContentTemplate}"
Content="{TemplateBinding BusyContent}"
HorizontalAlignment="Center"
Margin="15,5,15,15"/>
</StackPanel>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsBusyIndicationVisible"
Value="False">
<Setter Property="Visibility"
TargetName="Indicator"
Value="Collapsed" />
<Setter Property="Visibility"
TargetName="Overlay"
Value="Collapsed" />
<Setter Property="IsIndeterminate"
TargetName="ProgressBar"
Value="False" />
<Setter Property="IsEnabled"
TargetName="Content"
Value="True" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Any suggestion? And thanks in advance!
I am using a RadCardView for the first time, and nothing is displaying. I have followed the online sample code, and even replaced the Rad Card View with a list box to make sure the bindings are working, and still nothing appears to be displaying in the area where the CardView (previously a list box) should display. Here is part of my code:
<telerik:RadCardView x:Name="cardView" Margin="5"Hi:
How can I set the data Form to show required fields validation message based on annotations to appear on the right of the field like this image;

i am trying to custom style RadNumericUpDown control but every time i try to click right and edit control i am losing focus
tried to find the template in documentation to copy , paste and then edit, however i couldn't
can you help with this please?
Best
Hello,
is it possible to manipulate or clear the navigation history of the explorer control?
Best regards,
Philipp

Hi
I have created a behavior for quickly adding appointments on mouse up.
I have currently been using the SelectedSlot (Start/End) property of RadScheduleView to create an appointment, but now I discovered that when selecting with Alt-key down you can get the same Start/End selected over multiple days. When debugging I can see these intervals in the Slot.Infos property, but this property is internal so I can't access it.
Is there another way to find these intervals in the RadScheduleView?
Hey i dont want to use the integrated version of the Searchpanel because my design has it a different possition than direktly above it.
So i want to use <telerik:GridViewSearchPanel /> but i dont know how to bind it to the RadGridView.
Thanks
Dominik

Hi,
I'm trying to debug the salesdashboard source and receive the following error? Not sure how to resolve, can someone help please?
System.Data.Services.Client.DataServiceQueryException
HResult=0x80131509
Message=An error occurred while processing this request.
Source=Microsoft.Data.Services.Client
StackTrace:
at System.Data.Services.Client.QueryResult.EndExecuteQuery[TElement](Object source, String method, IAsyncResult asyncResult)
at System.Data.Services.Client.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, String method, IAsyncResult asyncResult)
at System.Data.Services.Client.DataServiceQuery`1.EndExecute(IAsyncResult asyncResult)
at SalesDashboard.MainRepository.<>c__DisplayClass22_1.<GetDailyActualsVsTargetsByProduct>b__1() in C:\Users\robertf\Downloads\SalesDashboard_WPF_Dev_2023_3_1114_SourceCode\SalesDashboard\ViewModel\MainRepository.cs:line 126
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
DataServiceClientException: <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code></code>
<message xml:lang="en-US">An error occurred while processing this request.</message>
</error>
