Telerik Forums
UI for WPF Forum
2 answers
322 views

Hi Telerik,

I have two Control Panel Items set in a single style for all my grids. The column chooser icon that comes out of the box looks fine. but I can't find where I can change the other one. Where can I learn more about how those icons are defined? I would like some sort of an arrow pointing down.

Here is the code for the ControlPanelItemCollection

<telerik:ControlPanelItemCollection>
                    <telerik:ControlPanelItem>
                        <telerik:ControlPanelItem.ButtonContent>
                            <Path Width="16" Height="16" HorizontalAlignment="Center" VerticalAlignment="Center" Data="F1M511.6665,467.2715C509.6575,468.2995,507.1905,467.5095,506.1635,465.5005C505.1325,463.4915,505.9265,461.0325,507.9355,460.0005C509.9445,458.9745,512.4095,459.7695,513.4375,461.7745C514.4695,463.7825,513.6775,466.2405,511.6665,467.2715 M518.5605,462.8565L517.8825,460.0155L515.3935,460.2825C515.1415,459.8585,514.8505,459.4725,514.5225,459.1275L515.4435,456.8975L512.9515,455.3645L511.3965,457.2925C510.8575,457.1515,510.3025,457.0815,509.7415,457.0775L508.7675,454.9135L505.9375,455.6715L506.2705,458.0665C505.8795,458.3075,505.5215,458.5835,505.2025,458.8835L503.0535,458.0005L501.5175,460.4875L503.3665,461.9795C503.2315,462.4865,503.1515,463.0135,503.1415,463.5435L501.0335,464.4175L501.7125,467.2605L504.0635,467.0085C504.3355,467.4795,504.6545,467.9065,505.0235,468.2815L504.1575,470.3765L506.6475,471.9095L508.1425,470.0605C508.6495,470.1855,509.1655,470.2555,509.6925,470.2615L510.5785,472.3905L513.4255,471.7135L513.1675,469.2965C513.6075,469.0285,514.0145,468.7215,514.3635,468.3765L516.5455,469.2745L518.0815,466.7855L516.1495,465.2305C516.2665,464.7565,516.3315,464.2705,516.3385,463.7805z" Stretch="Fill" />
                        </telerik:ControlPanelItem.ButtonContent>
                        <telerik:ControlPanelItem.Content>
                            <Button Content="Export to Excel (incompleted feature)"></Button>
                        </telerik:ControlPanelItem.Content>
                    </telerik:ControlPanelItem>
                    <telerik:ControlPanelItem ButtonTooltip="Column chooser" >
                        <telerik:ControlPanelItem.ContentTemplate>
                            <DataTemplate>
                                <ListBox ItemsSource="{Binding VisibleColumns}"  BorderThickness="0">
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <CheckBox Content="{Binding Header, Mode=OneWay}"
                                                  IsChecked="{Binding IsVisible, Mode=TwoWay}" />
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>
                            </DataTemplate>
                        </telerik:ControlPanelItem.ContentTemplate>
                    </telerik:ControlPanelItem>
                </telerik:ControlPanelItemCollection>

 

By the way, I dont get what is all this "Data". I just left it there from one of your samples, if you might as well please clarify this for me?

 

Thank you

 

Jacob
Top achievements
Rank 1
 answered on 23 Dec 2016
7 answers
628 views

How to set the max length of a PropertyDefinition  

Like the textbox' s maxlength property

rui
Top achievements
Rank 1
 answered on 23 Dec 2016
1 answer
169 views

Hi,

Is there an example anywhere of a user being able to click on a chart and auto-create a text annotation based on a double-click or a right-click?
They would need to be able to add multiple annotations.
They would need to be able to delete annotations (i.e. right click on the annotation itself to delete).

We need the ability for users to create their own annotations directly within the chart area..

Thanks,

Barry

Martin Ivanov
Telerik team
 answered on 23 Dec 2016
1 answer
324 views

Hi,

 

Is there an example anywhere of a user being able to click on a chart and auto-create a line annotation based on when the mouse button went down and where it went back up again after the mouse was dragged ?

This seems tantamount to drawing a straight line and then adding a label to it.

They would need to be able to add multiple lines.

They would need to be able to delete lines.

 

We need the ability for users to create their own annotations directly within the chart area, using their mouse.

 

Thanks,

Barry

 

Martin Ivanov
Telerik team
 answered on 23 Dec 2016
2 answers
380 views

In response to a button command my VM inserts a record at index 0 into  the observablecollection that is bound to the gridview.

Now that I have it in the collection a new row automagically appears in the radgrid at the beginning. I'm trying to be a good boy and keep knowledge of my UI out of the VM. My gridview is marked as IsReadOnly = true. I only  allow editing via raddataform attached to the rowdetails. My questions are:

1. How to automatically expand the row details of a newly inserted row (using MVVM)?

2. Once they hit update the newly added row seems to be moved by the gridview to it's rightful place in the sort order. This is great.However, if you are using datapager the row could be moved to an unknown page leaving the user wondering where their new record went. I know there is a ScrollIntoView function, but I'm not sure I should be using that in a VM. Even if I did, how would I know what row to scroll to after it's been resorted? So, how can I get a newly added, newly sorted row to scroll to be the first row visible regardless of which page in the pager it lands and have it's rowdetail editor expanded using MVVM?

Any help would be greatly appreciated.

Thanks ... Ed

 

 

 

Randy Hompesch
Top achievements
Rank 1
 answered on 22 Dec 2016
1 answer
147 views

Hello!

 

- Setting Telerik.Windows.Controls.MultidayViewDefinition.MinorTickLength to Zero causes a ContextSwitchDeadlock during debugging and freezes the application when having the respective ViewDefinition active or on switching to the particular ViewDefinition.

- Setting Telerik.Windows.Controls.MultidayViewDefinition.MajorTickLength or Telerik.Windows.Controls.TimelineViewDefinition.GroupTickLength to Zero both cause a System.OutOfMemoryException when having the respective ViewDefinition active or on switching to the particular ViewDefinition.

- In XAML, when setting the MinorTickLength="0min" of the first and currently in the Designer active ViewDefinition will cause Visual Studio to freeze up entirely and needs to be terminated via the TaskManager.

- In XAML, when setting the MajorTickLength="0min" or GroupTickLength="0min" of the first and currently in the Designer active ViewDefinition will render Visual Studio unresponsive for a few seconds until displaying that a System.OutOfMemoryException has occurred.

 

Here's my example code to reproduce the crashes and freezes:

<Window x:Class="WpfApplicationProgressTelerik.MainWindow"
        xmlns:local="clr-namespace:WpfApplicationProgressTelerik"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.Resources>
            <local:MyViewModel x:Key="MyViewModel" />
        </Grid.Resources>
        <StackPanel>
            <telerik:RadButton
                Content="Click Me!"
                DataContext="{StaticResource MyViewModel}"
                Command="{Binding Command}" />
            <telerik:RadScheduleView
                DataContext="{StaticResource MyViewModel}"
                AppointmentsSource="{Binding Appointments}">
                <telerik:RadScheduleView.ViewDefinitions>
                    <telerik:DayViewDefinition
                        MinorTickLength="{Binding DayViewDefinitionMinorTickLength}"
                        MajorTickLength="{Binding DayViewDefinitionMajorTickLength}" />
                    <telerik:WeekViewDefinition
                        MinorTickLength="{Binding WeekViewDefinitionMinorTickLength}"
                        MajorTickLength="{Binding WeekViewDefinitionMajorTickLength}" />
                    <telerik:TimelineViewDefinition
                        MajorTickLength="{Binding TimelineViewDefinitionMajorTickLength}"
                        MinorTickLength="{Binding TimelineViewDefinitionMinorTickLength}"
                        GroupTickLength="{Binding TimelineViewDefinitionGroupTickLength}" />
                </telerik:RadScheduleView.ViewDefinitions>
            </telerik:RadScheduleView>
        </StackPanel>
    </Grid>
</Window>

 

using System;
using System.Collections.ObjectModel;
using System.Windows.Input;
using Telerik.Windows.Controls;
using Telerik.Windows.Controls.ScheduleView;
 
namespace WpfApplicationProgressTelerik
{
    internal class MyViewModel : ViewModelBase
    {
        private ObservableCollection<Appointment> appointments;
        public ObservableCollection<Appointment> Appointments
        {
            get
            {
                if (this.appointments == null)
                {
                    this.appointments = this.CreateAppointments();
                }
                return this.appointments;
            }
        }
 
        private ObservableCollection<Appointment> CreateAppointments()
        {
            var apps = new ObservableCollection<Appointment>();
 
            var app1 = new Appointment
            {
                Subject = "Front-End Meeting",
                Start = DateTime.Today.AddHours(9),
                End = DateTime.Today.AddHours(10)
            };
            apps.Add(app1);
 
            var app2 = new Appointment
            {
                Subject = "Planning Meeting",
                Start = DateTime.Today.AddHours(11),
                End = DateTime.Today.AddHours(12)
            };
            apps.Add(app2);
 
            return apps;
        }
 
        public ICommand Command { get; }
 
        public ITickProvider DayViewDefinitionMinorTickLength { get; private set; }
        public ITickProvider DayViewDefinitionMajorTickLength { get; private set; }
        public ITickProvider WeekViewDefinitionMinorTickLength { get; private set; }
        public ITickProvider WeekViewDefinitionMajorTickLength { get; private set; }
        public ITickProvider TimelineViewDefinitionMinorTickLength { get; private set; }
        public ITickProvider TimelineViewDefinitionMajorTickLength { get; private set; }
        public ITickProvider TimelineViewDefinitionGroupTickLength { get; private set; }
 
        internal MyViewModel()
        {
            Command = new DelegateCommand(SetTickProvider);
        }
 
        private void SetTickProvider(object obj)
        {
            DayViewDefinitionMinorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            DayViewDefinitionMajorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            WeekViewDefinitionMinorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            WeekViewDefinitionMajorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            TimelineViewDefinitionMinorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            TimelineViewDefinitionMajorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            TimelineViewDefinitionGroupTickLength = new FixedTickProvider(DateTimeInterval.Zero);
 
            OnPropertyChanged(nameof(DayViewDefinitionMinorTickLength)); //ContextSwitchDeadlock
            OnPropertyChanged(nameof(DayViewDefinitionMajorTickLength)); //System.OutOfMemoryException
            OnPropertyChanged(nameof(WeekViewDefinitionMinorTickLength)); //ContextSwitchDeadlock
            OnPropertyChanged(nameof(WeekViewDefinitionMajorTickLength)); //System.OutOfMemoryException
            OnPropertyChanged(nameof(TimelineViewDefinitionMinorTickLength)); //ContextSwitchDeadlock
            OnPropertyChanged(nameof(TimelineViewDefinitionMajorTickLength)); //System.OutOfMemoryException
            OnPropertyChanged(nameof(TimelineViewDefinitionGroupTickLength)); //System.OutOfMemoryException
        }
    }
}

 

In my opinion it would be helpful to immediately throw a System.ArgumentOutOfRangeException when setting an invalid (or even better when creating an invalid instance of) Telerik.Windows.Controls.ScheduleView.ITickProvider.

What do you think?

Best wishes!

Stefan
Telerik team
 answered on 22 Dec 2016
6 answers
862 views

I saw there was a post about this several years back, but the OP never followed up..

I am getting the " System.Windows.Media.Animation Warning: 6 : Unable to perform action because the specified Storyboard was never applied to this object for interactive control.; Action='Stop'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='11303829'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='System.Windows.Media.Animation.Storyboard'; TargetElement.HashCode='11303829'; TargetElement.Type='System.Windows.Media.Animation.Storyboard' "

 

I have tried everything I can think of (hopefully not missing something small and silly..).  

Here is the storyboard itself in the UserCont

<Storyboard x:Key="FlashingPanel" RepeatBehavior="Forever" AutoReverse="True">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)"
                                   Storyboard.TargetName="TaskPanelItem">
        <EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="0" />
    </DoubleAnimationUsingKeyFrames>
</Storyboard>

 

Here is the 'grid' section that utilizes the storyboard.

<Grid Grid.Column="1" Grid.Row="1">
            <telerik:RadPanelBar x:Name="TaskRadPanel"
                                 Background="{StaticResource UserControlbackground}"
                                 Width="Auto"
                                 Height="Auto"
                                 Orientation="Horizontal"
                                 Margin="5, 8, 5, 10"
                                 BorderBrush="Transparent"
                                 FocusVisualStyle="{x:Null}"
                                 ItemContainerStyle="{StaticResource TaskRadPanelItemStyle}">
 
                <telerik:RadPanelBarItem x:Name="TaskPanelItem"
                                         HeaderTemplate="{StaticResource MyTaskHeaderTemplate}"
                                         HorizontalContentAlignment="Right">
                     
                        <telerik:RadPanelBarItem.Triggers>
                            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                                <EventTrigger.Actions>
                                    <BeginStoryboard x:Name="MyFlashingStory" Storyboard.TargetName="TaskPanelItem"  
 Storyboard="{StaticResource FlashingPanel}"/>
                                </EventTrigger.Actions>
                            </EventTrigger>
                        </telerik:RadPanelBarItem.Triggers>
                     
                     
                        <i:Interaction.Triggers>
 
                            <ei:DataTrigger Binding="{Binding MyTeamHasTasks, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="True">
                                <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Play" />
                            </ei:DataTrigger>
 
                            <ei:DataTrigger Binding="{Binding MyTeamHasTasks, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="False">
                                <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Pause" />
                            </ei:DataTrigger>
 
                            <i:EventTrigger EventName="Expanded" SourceName="TaskPanelItem">
                            <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Stop" />
                        </i:EventTrigger>
                         
                        <i:EventTrigger EventName="Collapsed" SourceName="TaskPanelItem">
                            <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Play" />
                        </i:EventTrigger>
                         
                    </i:Interaction.Triggers>
                     
                    <telerik:RadListBox ItemsSource="{Binding MyTeamTaskList}" >
                        <telerik:RadListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel Orientation="Vertical" />
                            </ItemsPanelTemplate>
                        </telerik:RadListBox.ItemsPanel>
                        <telerik:RadListBox.ItemTemplate>
                            <DataTemplate>
                                <Grid>
                                    <TextBlock Text="{Binding Description}"
                                               FontFamily="Sengo UI"
                                               FontSize="14"
                                               VerticalAlignment="Center"
                                               Foreground="RoyalBlue" />
                                </Grid>
                            </DataTemplate>
                        </telerik:RadListBox.ItemTemplate>
                    </telerik:RadListBox>
 
                </telerik:RadPanelBarItem>
            </telerik:RadPanelBar>
        </Grid>

 

MyTeamHasTasks is a boolean in my ViewModel.

 

First EventTrigger Expanded: ControlStoryboardAction: Stop  - Throws System.Windows.Media.Animation Warning: 6.

Second EventTrigger Collapsed: ControlStoryboardAction: Play - Works fine.

 

If I expand the TaskPanel again (firing the first eventtrigger from above) everything works as it should at this point and on..

 

BUT the VERY first time the ControlStoryboardAction: Stop is executed, it gives the System.Windows.Media.Animation Warning: 6.

 

For testing purposes, I replaced the binding boolean field (MyTeamHasTasks) with a checkbox and then bound the checkbox to the boolean field (MyTeamHasTasks), this route does not give me any issues...  Makes me wonder why it doesn't work they way I initially implemented it as it achieves the same thing.

 

Any idea as to how I can get around this?  I do not think this is a bug, I feel like I have possibly not implemented this accurately.

I'd like to do this without ANY code-behind.

Martin Ivanov
Telerik team
 answered on 22 Dec 2016
1 answer
353 views

I just want to disable (grayed-out, un-clickable) the "funnel" icon of the filter on the radgridview header and not HIDE it.

Is there easy way to do it without creating a custom filter?

 

Cheers

 

Dilyan Traykov
Telerik team
 answered on 22 Dec 2016
6 answers
870 views

I use Remote Desktop Connection to connect another desktop
and run my program. in my program, I have a PanelBar.
I chose an item inside the PanelBarItem.
when I reconnect by RDC, suddenly selected item unselect.
I attached a project to show my problem:

https://www.mediafire.com/?2fg3d2240pe6dbt

Please help me.
Thanks.

Dinko | Tech Support Engineer
Telerik team
 answered on 22 Dec 2016
5 answers
362 views

Hello. I have the following XAML markup:

<UserControl x:Class="UltrasonicSensors.Views.UltrasonicSensorsView"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
             xmlns:prism="http://prismlibrary.com/"            
             prism:ViewModelLocator.AutoWireViewModel="True">
 
    <UserControl.Resources>
        <!--Spline series style-->
        <Style x:Key="SplineSeriesStyle" TargetType="telerik:SplineSeries">
            <Setter Property="Stroke" Value="RoyalBlue"/>
            <Setter Property="StrokeThickness" Value="3"/>
        </Style>
        <!--Content template of each RadTileViewItem-->
        <DataTemplate x:Key="ContentTemplate">
            <telerik:RadCartesianChart x:Name="chart1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" EmptyContent="{Binding ChartEmptyContent}">
                <!--Turn scrollbar off-->
                <telerik:RadCartesianChart.Resources>
                    <Style TargetType="telerik:PanZoomBar">
                        <Setter Property="Visibility" Value="Collapsed"/>
                    </Style>
                </telerik:RadCartesianChart.Resources>
                <!-- X-axis -->
                <telerik:RadCartesianChart.HorizontalAxis>
                    <telerik:CategoricalAxis LabelInterval="6"/>
                </telerik:RadCartesianChart.HorizontalAxis>
                <!-- Y-axis -->
                <telerik:RadCartesianChart.VerticalAxis>
                    <telerik:LinearAxis Minimum="-128" Maximum="127" MajorStep="8" />
                </telerik:RadCartesianChart.VerticalAxis>
                <!--Spline series itself-->
                <telerik:SplineSeries CategoryBinding="Item1" ValueBinding="Item2" ItemsSource="{Binding SensorData}" Style="{StaticResource SplineSeriesStyle}"/>
                <!--Layout grid-->
                <telerik:RadCartesianChart.Grid>
                    <telerik:CartesianChartGrid MajorLinesVisibility="XY" StripLinesVisibility="XY" IsTabStop="False">
                        <telerik:CartesianChartGrid.YStripeBrushes>
                            <SolidColorBrush Color="#FFD7D7D7" Opacity="0.3" />
                            <SolidColorBrush Color="Transparent" />
                        </telerik:CartesianChartGrid.YStripeBrushes>
                        <telerik:CartesianChartGrid.XStripeBrushes>
                            <SolidColorBrush Color="#FFD7D7D7" Opacity="0.3" />
                            <SolidColorBrush Color="Transparent" />
                        </telerik:CartesianChartGrid.XStripeBrushes>
                    </telerik:CartesianChartGrid>
                </telerik:RadCartesianChart.Grid>
                <!--Panning and zooming-->
                <telerik:RadCartesianChart.Behaviors>
                    <telerik:ChartPanAndZoomBehavior DragMode="Pan" ZoomMode="Both" PanMode="Both"/>
                </telerik:RadCartesianChart.Behaviors>
            </telerik:RadCartesianChart>
        </DataTemplate>
    </UserControl.Resources>
 
    <Grid>
        <!--Ultrasonic sensors signals charts:-->
        <telerik:RadTileView Grid.Row="0" Grid.Column="0" PreservePositionWhenMaximized="True" MinimizedColumnWidth="150" ItemsSource="{Binding SensorSignalCharts}" DisplayMemberPath="ChartCaption"
                             ContentTemplate="{StaticResource ContentTemplate}">
        </telerik:RadTileView>
    </Grid>
</UserControl>

For the RadCartesianChart above I have the following ViewModel:

using Prism.Mvvm;
using System;
using Telerik.Windows.Data;
 
namespace UltrasonicSensors.ViewModels
{
    /// <summary>
    /// Ultrasonic sensor signal ViewModel.
    /// </summary>
    public class SensorSignalChartViewModel : BindableBase
    {
        #region Fields
 
        /// <summary>
        /// Ultrasonic sensor signal chart point collection.
        /// </summary>
        private RadObservableCollection<Tuple<int, double>> _sensorData;
        /// <summary>
        /// Data missing Message.
        /// </summary>
        private object _chartEmptyContent;
        /// <summary>
        /// Chart header.
        /// </summary>
        private string _caption;
         
        #endregion
 
        #region Constructors
 
        /// <summary>
        /// Create instance of  SensorSignalViewModel.
        /// </summary>
        /// <param name="aSensorData">Ultrasonic sensor signal chart point collection.</param>
        public SensorSignalChartViewModel(Tuple<int, double>[] aSensorData)
        {
            this.SensorData = new RadObservableCollection<Tuple<int, double>>(aSensorData);
        }
 
        #endregion
 
        #region Properties
 
        /// <summary>
        /// Gets or sets ultrasonic sensor signal chart point collection.
        /// </summary>
        public RadObservableCollection<Tuple<int, double>> SensorData
        {
            get { return this._sensorData; }
            set { this.SetProperty(ref this._sensorData, value); }
        }
 
        /// <summary>
        /// Gets or sets data missing message.
        /// </summary>
        public object ChartEmptyContent
        {
            get { return this._chartEmptyContent; }
            set { this.SetProperty(ref this._chartEmptyContent, value); }
        }
 
        /// <summary>
        /// Gets or sets chart header.
        /// </summary>
        public string ChartCaption
        {
            get { return this._caption; }
            set { this.SetProperty(ref this._caption, value); }
        }
 
        #endregion
    }
}

As you can see above, RadCartesianChart in "ContentTemplate" DataTemplate is bound to this ViewModel. And there is another ViewModel called UltrasonicSensorsViewModel which contain RadObservableCollection of SensorSignalChartViewModel. Please see it below:

/// <summary>
/// ViewModel of charts of ultrasonic sensors signals.
/// </summary>
public class UltrasonicSensorsViewModel : BindableBase, IConfirmNavigationRequest
{
    #region Fields
 
    #region Constant Fields
             
    /// <summary>
    ///  Data missing message.
    /// </summary>
    private const string NO_DATA_FOR_CHART = "Нет данных для построения графика";
    /// <summary>
    /// Number of points in each signal chart.
    /// </summary>
    private const int CHART_POINTS_QUANTITY = 180;
 
    #endregion
 
    #region Common Variable Fields
 
    /// <summary>
    /// Ultrasonic sensors quantity.
    /// </summary>
    private int _sensorsQuantity;
    /// <summary>
    /// Collection of sensorSignalChartViewModel instances.
    /// </summary>
    private RadObservableCollection<SensorSignalChartViewModel> _sensorSignalCharts;
    /// <summary>
    /// Sensors polling timer.
    /// </summary>
    private Timer _sensorsPollingTimer;
    /// <summary>
    /// Timer period in millisecond.
    /// </summary>
    private long _pollingPeriod = 500;
 
    #endregion
 
    #endregion
 
    #region Constructors
 
    public UltrasonicSensorsViewModel()
    {
        // This is dummy data  to simulate (imitate) each chart.
        byte[] aDummyData = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
            0x01, 0x00, 0x00, 0xFE, 0xFE, 0xFF, 0x00, 0x01, 0x03, 0x02, 0x01, 0x00, 0xFD, 0xFC, 0xFD, 0x00, 0x04, 0x06, 0x07, 0x03, 0xFD, 0xF7, 0xF3, 0xF6,
            0x00, 0x0B, 0x14, 0x15, 0x0C, 0xFC, 0xEA, 0xDF, 0xE2, 0xF4, 0x0E, 0x26, 0x2F, 0x24, 0x07, 0xE4, 0xCA, 0xC6, 0xDB, 0x01, 0x2B, 0x44, 0x41, 0x22,
            0xF3, 0xC8, 0xB4, 0xBF, 0xE6, 0x18, 0x41, 0x4E, 0x3B, 0x10, 0xE0, 0xBE, 0xB8, 0xCF, 0xF9, 0x23, 0x3E, 0x3E, 0x26, 0x01, 0xDF, 0xCD, 0xCF, 0xE5,
            0x01, 0x1A, 0x27, 0x23, 0x13, 0x00, 0xEF, 0xE7, 0xE9, 0xF2, 0xFE, 0x08, 0x0D, 0x0E, 0x0B, 0x06, 0x01, 0xFD, 0xF9, 0xF6, 0xF6, 0xF8, 0xFD, 0x03,
            0x0A, 0x0E, 0x0D, 0x07, 0xFF, 0xF5, 0xF0, 0xF0, 0xF7, 0x00, 0x0A, 0x10, 0x0E, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
         
        this.SensorSignalCharts = new RadObservableCollection<SensorSignalChartViewModel>();
        Tuple<int, double>[] aSensorData = new Tuple<int, double>[CHART_POINTS_QUANTITY];
 
        // Create array of chart data (i==X, aDummyData[i] == Y)
        for (int i = 0; i < aDummyData.Length; i++)
            aSensorData[i] = new Tuple<int, double>(i, aDummyData[i]);
        // Create eight (8) RadTileViewItems. The content of each RadTileViewItem is a chart with simulating data
        SensorSignalChartViewModel sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от первого сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от второго сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от третьего сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от четвёртого сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от пятого сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от шестого сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от седьмого сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        sscm = new SensorSignalChartViewModel(aSensorData);
        sscm.ChartCaption = "График сигнала от восмого сенсора";
        sscm.ChartEmptyContent = NO_DATA_FOR_CHART;
        this.SensorSignalCharts.Add(sscm);
        // Create timer but don't start yet.
        this._sensorsPollingTimer = new Timer(this.sensorsPollingTimerCallback, null, -1, this._pollingPeriod);
    }
 
    #endregion
 
    #region Properties
 
    /// <summary>
    /// Gets or sets collection of SensorSignalChartViewModel instances.
    /// </summary>
    public RadObservableCollection<SensorSignalChartViewModel> SensorSignalCharts
    {
        get { return this._sensorSignalCharts; }
        set { this.SetProperty(ref this._sensorSignalCharts, value); }
    }
 
    #endregion
 
    #region Methods
 
    /// <summary>
    /// Timer tick handler.
    /// </summary>
    /// <param name="state"></param>
    private void sensorsPollingTimerCallback(object state)
    {
 
    }
 
    #endregion
 
    #region IConfirmNavigationRequest Implementation
 
    void IConfirmNavigationRequest.ConfirmNavigationRequest(NavigationContext navigationContext, Action<bool> continuationCallback)
    {
        continuationCallback(true);
    }
 
    bool INavigationAware.IsNavigationTarget(NavigationContext navigationContext)
    {
        return true;
    }
    void INavigationAware.OnNavigatedFrom(NavigationContext navigationContext)
    {
        ;
    }
 
    void INavigationAware.OnNavigatedTo(NavigationContext navigationContext)
    {
        ;
    }
 
    #endregion
}

When I run my program I see no charts as you can see in EmptyCharts.PNG file attached. Why I see no charts? Please help me.

Dinko | Tech Support Engineer
Telerik team
 answered on 22 Dec 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
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
NavigationView (Hamburger Menu)
Wizard
ExpressionEditor
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
Callout
PasswordBox
SplashScreen
Localization
Rating
Accessibility
CollectionNavigator
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?