Telerik Forums
UI for WPF Forum
5 answers
356 views

I have the following XAML code I'm using to generate my Series and Graphs.

<telerik:RadCartesianChart x:Name="Chart"
                       HorizontalAlignment="Stretch"
                       VerticalAlignment="Stretch">
    <telerik:RadCartesianChart.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Export to Image" Click="MenuItem_Click" />
        </ContextMenu>
    </telerik:RadCartesianChart.ContextMenu>
  
    <telerik:RadCartesianChart.Behaviors>
        <telerik:ChartPanAndZoomBehavior DragMode="Zoom" ZoomMode="Horizontal" />
    </telerik:RadCartesianChart.Behaviors>
  
    <telerik:RadCartesianChart.Grid>
        <telerik:CartesianChartGrid MajorLinesVisibility="XY" />
    </telerik:RadCartesianChart.Grid>
  
    <telerik:RadCartesianChart.Resources>
        <Style TargetType="telerik:LineSeries">
            <Setter Property="StrokeThickness" Value="1"/>
            <Setter Property="Stroke" Value="{Binding ValueColour}" />
            <Setter Property="RenderOptions" Value="{Binding RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, Path=DataContext.RenderOptions, Mode=OneWay}" />
            <Setter Property="LegendSettings">
                <Setter.Value>
                    <telerik:SeriesLegendSettings>
                        <telerik:SeriesLegendSettings.Title>
                            <MultiBinding Converter="{StaticResource MultiBindingStringConverter}">
                                <Binding Path="ValueName" />
                                <Binding Path="Unit" />
                            </MultiBinding>
                        </telerik:SeriesLegendSettings.Title>
                    </telerik:SeriesLegendSettings>
                </Setter.Value>
            </Setter>
            <Setter Property="ShowLabels" Value="False" />
            <Setter Property="VerticalAxis">
                <Setter.Value>
                    <MultiBinding Converter="{StaticResource UnitToVerticalAxisConverter}">
                        <Binding Path="ValueName" />
                        <Binding Path="Unit" />
                    </MultiBinding>
                </Setter.Value>
            </Setter>
        </Style>
        <Style TargetType="telerik:PointSeries">
            <Setter Property="DefaultVisualStyle">
                <Setter.Value>
                    <Style TargetType="Path">
                        <Setter Property="Fill" Value="{Binding ValueColour, Converter={StaticResource StringToSolidColorBrushConverter}}" /> <!-- CAUSES AN INVALID CAST EXCEPTION -->
                    </Style>
                </Setter.Value>
            </Setter>
            <Setter Property="RenderOptions" Value="{Binding RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, Path=DataContext.RenderOptions, Mode=OneWay}" />
            <Setter Property="LegendSettings">
                <Setter.Value>
                    <telerik:SeriesLegendSettings>
                        <telerik:SeriesLegendSettings.Title>
                            <MultiBinding Converter="{StaticResource MultiBindingStringConverter}">
                                <Binding Path="ValueName" />
                                <Binding Path="Unit" />
                            </MultiBinding>
                        </telerik:SeriesLegendSettings.Title>
                    </telerik:SeriesLegendSettings>
                </Setter.Value>
            </Setter>
            <Setter Property="ShowLabels" Value="False" />
            <Setter Property="VerticalAxis">
                <Setter.Value>
                    <MultiBinding Converter="{StaticResource UnitToVerticalAxisConverter}">
                        <Binding Path="ValueName" />
                        <Binding Path="Unit" />
                    </MultiBinding>
                </Setter.Value>
            </Setter>
        </Style>
    </telerik:RadCartesianChart.Resources>
      
    <telerik:RadCartesianChart.SeriesProvider>
        <telerik:ChartSeriesProvider Source="{Binding Series}">
            <telerik:ChartSeriesProvider.SeriesDescriptors>
                <telerik:CategoricalSeriesDescriptor ItemsSourcePath="Data.Collection" TypePath="SeriesType" CategoryPath="Time" ValuePath="Value" />
            </telerik:ChartSeriesProvider.SeriesDescriptors>
        </telerik:ChartSeriesProvider>
    </telerik:RadCartesianChart.SeriesProvider>
  
    <telerik:RadCartesianChart.HorizontalAxis>
        <telerik:DateTimeContinuousAxis
                                    MajorStepUnit="Minute"
                                    LabelInterval="4"
                                    FontFamily="Segoe UI"
                                    PlotMode="OnTicks"  LabelFitMode="MultiLine">
            <telerik:DateTimeContinuousAxis.LabelTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Converter={StaticResource MultiLineDateTimeConverter}}" />
                </DataTemplate>
            </telerik:DateTimeContinuousAxis.LabelTemplate>
        </telerik:DateTimeContinuousAxis>
    </telerik:RadCartesianChart.HorizontalAxis>
</telerik:RadCartesianChart>
 

Unfortunately when I try to bind the "ValueColour" property on my PointSeries style, for the Path style's Fill property, I get an invalid cast exception.

My ValueColour Property is of type String and I have tried using converters for both String to Color and String to SolidColorBrush and neither of them are working.  The cast exception I get says:

Additional information: Unable to cast object of type 'System.Windows.Data.Binding' to type 'System.Windows.Media.Brush'.

However it works if I hard-code the colour with the value "Red" for example.

 How do I make this data-bindable?

Ivan
Telerik team
 answered on 11 Jan 2016
1 answer
220 views

Hi

I am using a RadCartesianChart with a LineSeries and would like the line to be dotted between missing values (null) instead of a gap. How can I do this?

 Regards, Lukas

Ivan
Telerik team
 answered on 11 Jan 2016
6 answers
147 views
I'm using RadScheduleView in a WPF MVVM application. The AppointmentsSource property is bound to an observable collection ObservableCollection in the ViewModel. So I have all appointments in thew view model.
How can I easily calculate if there is an ongoing appointment at the current moment ? How can I calculate when is the next appointment ?
Nasko
Telerik team
 answered on 11 Jan 2016
1 answer
101 views

I am using drilldownchart(RadChart Hierarichal Chart). I would like to use different colors for bars. I am getting same gradient color for all bars. Please find the current working chart screenshot and expected. 

 

Can we use pallette to show different colors in drill down chart. If so please provide details and some sample project.

 Please find my XAML code here 

<Window x:Class="DrillDownHierarchicalView.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"
Title="MainWindow"
Height="350"
Width="525">
<Grid>
<telerik:RadChart x:Name="radChart">
<telerik:RadChart.HierarchicalViewDescriptors>
<telerik:ChartHierarchicalViewDescriptor>
<telerik:ChartHierarchicalViewDescriptor.SeriesMappings>
<telerik:SeriesMapping>
<telerik:ItemMapping FieldName="Sales.TotalAmount"
DataPointMember="YValue" />
<telerik:ItemMapping FieldName="Name"
DataPointMember="XCategory" />
</telerik:SeriesMapping>
</telerik:ChartHierarchicalViewDescriptor.SeriesMappings>
</telerik:ChartHierarchicalViewDescriptor>
<telerik:ChartHierarchicalViewDescriptor>
<telerik:ChartHierarchicalViewDescriptor.Relation>
<telerik:PropertyRelation ParentPropertyName="Sales" />
</telerik:ChartHierarchicalViewDescriptor.Relation>
<telerik:ChartHierarchicalViewDescriptor.SeriesMappings>
<telerik:SeriesMapping>
<telerik:SeriesMapping.GroupingSettings>
<telerik:GroupingSettings ShouldFlattenSeries="True">
<telerik:ChartGroupDescriptor Member="Model" />
</telerik:GroupingSettings>
</telerik:SeriesMapping.GroupingSettings>
<telerik:ItemMapping FieldName="Amount"
DataPointMember="YValue"
AggregateFunction="Sum" />
<telerik:ItemMapping FieldName="Model"
DataPointMember="XCategory" />
</telerik:SeriesMapping>
</telerik:ChartHierarchicalViewDescriptor.SeriesMappings>
</telerik:ChartHierarchicalViewDescriptor>
</telerik:RadChart.HierarchicalViewDescriptors>
</telerik:RadChart>
</Grid>
</Window>

Dinko | Tech Support Engineer
Telerik team
 answered on 11 Jan 2016
3 answers
407 views

Hi,

I have a RadCartesian Chart which has X& Y Axis as Linear axes. Chart Series is dynamically loaded. At one point my Axis labels overlap. I saw this link 

http://docs.telerik.com/devtools/wpf/controls/radchartview/axes/axis-smart-labels but I am not able find the property SmartLabelsMode in the xaml. 

Please help me solve the overlapping issue.

Here is my Xaml

  <Grid>
 
        <telerik:RadCartesianChart x:Name="CartesianChart" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
                                   Style="{StaticResource RadCartesianChartStyle1}">
            <telerik:RadCartesianChart.Grid>
                <telerik:CartesianChartGrid MajorLinesVisibility="XY" MajorXLineStyle="{StaticResource GridLineStyle}"
                                            MajorYLineStyle="{StaticResource GridLineStyle}" />
            </telerik:RadCartesianChart.Grid>
            <telerik:RadCartesianChart.HorizontalAxis>
                <telerik:LinearAxis Title="{Binding HorizontalAxisTitle}" Minimum="{Binding Xmin}"  LineThickness="2" LineStroke="Transparent" Foreground="{DynamicResource BRUSH_TEXT}"
                                    Style="{StaticResource LinearAxisStyle}" />
                 
            </telerik:RadCartesianChart.HorizontalAxis>
            <telerik:RadCartesianChart.VerticalAxis>
                <telerik:LinearAxis Title="{Binding VerticalAxisTitle}" LineThickness="2" Foreground="{DynamicResource BRUSH_TEXT}"
                                    Style="{StaticResource LinearAxisStyle}" />
            </telerik:RadCartesianChart.VerticalAxis>
            <telerik:RadCartesianChart.SmartLabelsStrategy>
                <telerik:ChartSmartLabelsStrategy  />
            </telerik:RadCartesianChart.SmartLabelsStrategy>
 
            <telerik:RadCartesianChart.Behaviors>
                <telerik:ChartPanAndZoomBehavior DragMode="Pan" ZoomMode="Both" PanMode="Both" />
                <telerik:ChartTooltipBehavior />
            </telerik:RadCartesianChart.Behaviors>
            <telerik:RadCartesianChart.EmptyContentTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding EmptyContentText}" />
                    </StackPanel>
                </DataTemplate>
            </telerik:RadCartesianChart.EmptyContentTemplate>
            <telerik:RadCartesianChart.TooltipTemplate>
                <DataTemplate>
                    <Border Background="{DynamicResource BRUSH_TOOLTIP}" BorderBrush="{DynamicResource BRUSH_TOOLTIP}" BorderThickness="1" Padding="10">
                        <StackPanel Background="{DynamicResource BRUSH_TOOLTIP}">
                            <StackPanel Width="{TemplateBinding Width}" Orientation="Horizontal" Background="{DynamicResource BRUSH_TOOLTIP}" Margin="5">
                                <TextBlock Text="{Binding DataItem.VerticalAxisTitle}" />
                                <TextBlock Text="{Binding YValue}" />
                            </StackPanel>
                            <StackPanel Width="{TemplateBinding Width}" Orientation="Horizontal" Background="{DynamicResource BRUSH_TOOLTIP}" Margin="5">
                                <TextBlock Text="{Binding DataItem.HorizontalAxisTitle}" />
                                <TextBlock Text="{Binding XValue}" />
                            </StackPanel>
                            <TextBlock Text="{Binding Presenter.DisplayName}" />
                        </StackPanel>
                    </Border>
                </DataTemplate>
            </telerik:RadCartesianChart.TooltipTemplate>
            <telerik:RadCartesianChart.SeriesProvider>
                <telerik:ChartSeriesProvider x:Name="ChartSeriesProvider" Source="{Binding SeriesCollection}">
 
                    <telerik:ChartSeriesProvider.SeriesDescriptors>
 
                        <telerik:ScatterSeriesDescriptor ItemsSourcePath="Points" YValuePath="YValue" XValuePath="XValue">
                            <telerik:ScatterSeriesDescriptor.Style>
                                <Style TargetType="telerik:ScatterSplineSeries">
                                    <Setter Property="StrokeThickness" Value="{Binding StrokeThickness}" />
                                    <Setter Property="Stroke" Value="{Binding Color}" />
                                    <Setter Property="Visibility" Value="{Binding IsVisible,Converter={StaticResource BooleanToVisibilityConverter}}" />
                                    <Setter Property="DisplayName" Value="{Binding Name}" />
                                    <Setter Property="PointTemplate" Value="{StaticResource PointTemplate}" />
 
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding IsDashed,Mode=TwoWay}" Value="True">
                                            <Setter Property="DashArray" Value="5"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </telerik:ScatterSeriesDescriptor.Style>
                        </telerik:ScatterSeriesDescriptor>
                    </telerik:ChartSeriesProvider.SeriesDescriptors>
                </telerik:ChartSeriesProvider>
            </telerik:RadCartesianChart.SeriesProvider>
        </telerik:RadCartesianChart>
    </Grid>
</UserControl>

Milena
Telerik team
 answered on 11 Jan 2016
1 answer
169 views

Hi! I bag your pardon for my poor English. Suppose I have a line chart of electronic pulse curve that has been drawn in RadCartesianChart of RadChartView. Does RadChartView support layouting (zooming) of this pulse curve using mouse wheel? In other words, when the user rotates the mouse wheel then the chart changes its size in X and Y directions of course if I define MouseWheel event handler for RadCartesianChart. So I have two questions:

1) Does RadCartesianChart of RadChartView support MouseWheel event handler for layouting (zooming) of chart in X and Y directions with change of scale on X axis and Y axis respectively?

2) Does RadCartesianChart of RadChartView support MouseMove event handler for panning (moving) of chart in X and Y directions with recalculation of values of ticks on X and Y axes respectively?

 
 
 
 
 
 
 
 
 
 
 
 
 
 
Petar Marchev
Telerik team
 answered on 11 Jan 2016
2 answers
254 views

I am using ChartView inside ItemsControl. Everything is working fine.I am facing issue when using mouse-wheel scroll for chart zoom . Issue is itemscontrol scrolling triggered instead of scroll for chart zooming even though my mouse focus on chart.

My Expected Requirement:

1.) Do Chart Zoom In/Out  When Mouse focus on chartcontrol.

2.) Do Item control scrolling when mouse focus on itemscontrol scrollbar.

  

I tried few options but those failed.Please help on this..

 

 Please see attach as well...

 

Sivakumar
Top achievements
Rank 1
 answered on 11 Jan 2016
2 answers
159 views

My Requirement to move Datapoint selection using keyboards right,left arrow keys.I am already highlight datapoints using selection changed event.But How to navigate the point? 

Please see attached... 

 

Martin Ivanov
Telerik team
 answered on 08 Jan 2016
2 answers
83 views

I call EditItem(), make my changes and then call CommitEdit().  Although the documentation says "That's it - the RadGridView will show the updated data immediately.", that doesn't seem to work for me.  The change only appears when I enter edit mode in the grid by double-clicking the cell.

I've created a small project to demonstrate my issue.

<Window x:Class="RadGridViewUpdate.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"
                Title="MainWindow" Height="350" Width="525">
   <StackPanel>
      <telerik:RadGridView x:Name="grid" />
      <Button Content="Change" Click="OnChange" />
   </StackPanel>
</Window>
 

public partial class MainWindow : Window
{
   public class Test
   {
      public string first { get; set; }
      public string second { get; set; }
      public string third { get; set; }
   }
 
   Test entry1 = new Test() { first = "1", second = "2", third = "3" };
   Test entry2 = new Test() { first = "1", second = "2", third = "3" };
 
   public MainWindow()
   {
      InitializeComponent();
      grid.Items.Add(entry1);
      grid.Items.Add(entry2);
   }
 
   private void OnChange(object sender, RoutedEventArgs e)
   {
      grid.Items.EditItem(entry1);
      entry1.second = "5";
      grid.Items.CommitEdit();
   }
}

When I click "Change", nothing is changed in the grid until I double-click the second column of the first row.

Note that this is just an example.  In my full application, I use MVVM and did try to "RaisePropertyChange".

 

 

Pierre
Top achievements
Rank 1
 answered on 08 Jan 2016
2 answers
95 views

Hey,

I am trying to deselect appointments from my viewmodel. I have tried setting the property that is bound to the selected value equal to null but that doesn't seem to work. Do you have any suggestions?

Thanks

 NA

Nick
Top achievements
Rank 1
 answered on 08 Jan 2016
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
PasswordBox
SplashScreen
Callout
Rating
Accessibility
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?