Telerik Forums
UI for WPF Forum
1 answer
475 views
Hi, i'm trying to edit the Live data example you provide so that it is capable of displaying multiple series (the number is variable from 1 to a rasonable N, say 15).
Each series has the same format and is mapped this way:
MyCustomObject.DateTime -> XAxis
MyCustomObect.Value -> YAxis
I define the SeriesMapping in codeBehind as i said the number of series is variable.

I edited the ExampleViewModel.cs so that i have a List of Queue (1 Queue for each series i want to display). 
The problem is that the chart doen't get populated at all.

Here is my sample code:

MyChart.xaml
<UserControl.DataContext>
        <db:TimeChartViewModel />
    </UserControl.DataContext>
  
    <UserControl.Resources>
        <Style x:Key="YAxisTitleStyle" TargetType="telerik:AxisTitle">
            <Setter Property="Padding" Value="0, 0, 0, 0" />
            <Setter Property="Margin" Value="0, 0, 0, 0" />
        </Style>
  
        <Style x:Key="AdditionalYAxisTitleStyle" TargetType="telerik:AxisTitle">
            <Setter Property="Padding" Value="0, 0, 0, 0" />
            <Setter Property="Margin" Value="0, 3, 0, 0" />
        </Style>
    </UserControl.Resources>
  
    <Grid>
        <Border telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled="True">
            <telerik:RadChart x:Name="RadTimeChart" ItemsSource="{Binding Data}">
                <telerik:RadChart.DefaultView>
                    <telerik:ChartDefaultView ChartLegendPosition="Bottom">
                        <telerik:ChartDefaultView.ChartArea>
                            <telerik:ChartArea LegendName="ChartLegend1"
                                               NoDataString="Loading..."
                                               EnableAnimations="False"
                                               Padding="5, 10, 0, 5">
                                <telerik:ChartArea.AxisX>
                                    <telerik:AxisX DefaultLabelFormat="#VAL{H:mm:ss}" LabelRotationAngle="45" LabelStep="2"
                                                   LayoutMode="Normal" Title="Time" AutoRange="False"
                                                   MinValue="{Binding AxisXMinValue}"
                                                   MaxValue="{Binding AxisXMaxValue}"
                                                   Step="{Binding AxisXStep}" />
                                </telerik:ChartArea.AxisX>
                                <telerik:ChartArea.AxisY>
                                    <telerik:AxisY DefaultLabelFormat="#VAL" Title="Power [W]"
                                                   AutoRange="False" MinValue="0" MaxValue="3000" Step="500">
                                        <telerik:AxisY.AxisStyles>
                                            <telerik:AxisStyles TitleStyle="{StaticResource YAxisTitleStyle}"/>
                                        </telerik:AxisY.AxisStyles>
                                    </telerik:AxisY>
                                </telerik:ChartArea.AxisY>
                            </telerik:ChartArea>
                        </telerik:ChartDefaultView.ChartArea>
                        <telerik:ChartDefaultView.ChartLegend>
                            <telerik:ChartLegend x:Name="ChartLegend1" Padding="0, 10, 0, 5"/>
                        </telerik:ChartDefaultView.ChartLegend>
                    </telerik:ChartDefaultView>
                </telerik:RadChart.DefaultView>
            </telerik:RadChart>
        </Border>
    </Grid>




ExampleModelView.cs
       #region Fields
  
        private const int queueCapacity = 30;
        private List<Queue<MeasurementData>> tcMeasurementData = new List<Queue<MeasurementData>>(queueCapacity);
        private DateTime nowTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
        private DispatcherTimer timer1;
        private List<Queue<MeasurementData>> _data;
        private double _axisXMinValue;
        private double _axisXMaxValue;
        private double _axisXStep;
        private LEAF.Devices.Common.TimeChartHistory device;
  
        #endregion
  
        #region Properties
  
        public LEAF.Devices.Common.TimeChartHistory Device
        {
            get { return this.device; }
            set { this.device = value; }
        }
  
        public List<Queue<MeasurementData>> Data
        {
            get { return this._data; }
            set
            {
                if (this._data != value)
                {
                    this._data = value;
                    this.OnPropertyChanged("Data");
                }
            }
        }
  
        public double AxisXMinValue
        {
            get { return this._axisXMinValue; }
            set
            {
                if (this._axisXMinValue != value)
                {
                    this._axisXMinValue = value;
                    this.OnPropertyChanged("AxisXMinValue");
                }
            }
        }
  
        public double AxisXMaxValue
        {
            get { return this._axisXMaxValue; }
            set
            {
                if (this._axisXMaxValue != value)
                {
                    this._axisXMaxValue = value;
                    this.OnPropertyChanged("AxisXMaxValue");
                }
            }
        }
  
        public double AxisXStep
        {
            get { return this._axisXStep; }
            set
            {
                if (this._axisXStep != value)
                {
                    this._axisXStep = value;
                    this.OnPropertyChanged("AxisXStep");
                }
            }
        }
  
        #endregion
  
  
        #region Constructor
  
        public TimeChartViewModel()
        {
            this.SetUpTimer();
        }
  
        #endregion
  
  
        #region Methods
  
        public void StartTimer()
        {
            if (timer1 != null)
                timer1.Start();
        }
  
        public void StopTimer()
        {
            if (timer1 != null)
                timer1.Stop();
        }
  
        private void SetUpTimer()
        {
            timer1 = new DispatcherTimer();
            timer1.Interval = TimeSpan.FromMilliseconds(500);
            timer1.Tick += OnTimerTick;
        }
  
        private void OnTimerTick(object sender, EventArgs e)
        {
            this.nowTime = this.nowTime.AddMilliseconds(500);
  
            this.UpdateData(this.nowTime);
            this.SetUpAxisXRange(this.nowTime);
  
            this.Data = null;
            this.Data = this.tcMeasurementData;
        }
  
        private void SetUpAxisXRange(DateTime now)
        {
            this.AxisXMinValue = now.AddSeconds(-14.5).ToOADate();
            this.AxisXMaxValue = now.ToOADate();
            this.AxisXStep = 1.0 / 24.0 / 3600.0 / 2.0;
        }
  
        private void UpdateData(DateTime now)
        {
            int i = 0;
  
        //This lines update data for each series... I'm pretty sure it is correct
            foreach (ChannelKeyValueConfiguration channelKeyValue in this.Device.Configuration.ChannelConfigurations)
            {
                IChannel channel = this.Device.Channels[channelKeyValue.Name];
  
                Queue<MeasurementData> seriesData = this.tcMeasurementData[i];
                if (seriesData.Count >= queueCapacity) seriesData.Dequeue();
                MeasurementData lastMeasure = new MeasurementData(channel.Measure.Value, now);
                seriesData.Enqueue(lastMeasure);
                i++;
            }
  
        }
  
        public void AddMeasureDataSeries(Queue<MeasurementData> series)
        {
            this.tcMeasurementData.Add(series);
        }
  
        #endregion


Please tell me how do i bind chart's itemsource to a List of Queue instead of a simple collection.
Thanks
Nikolay
Telerik team
 answered on 15 Feb 2012
3 answers
119 views
Please find the attached file.

In the attachment, there are 2 cases:
1 Left
While opening any item from the left tab it opens the Item in Tab region i.e Center region. And set the Tab as active.
In which the Background of the Tab Title changes to Blue. and when we select the bottom region tab, the title of the bottom region get blue.
2 Right
But in the Right Image
When we select the left Item, it set the background of all the tabs to Black.
But according to the normal behavior it should retain the state. Ie.. the last selected tab background should be blue in color.

Please provide solution

Regards,
Irfan Shaikh
Konstantina
Telerik team
 answered on 15 Feb 2012
1 answer
101 views
Hi,
     The first time the datepicker is displayed it takes the default style. Second time and there after the control is rendered according to the style. the style is defined in App.xaml.

Please let me know how to tackle this problem

Boyan
Telerik team
 answered on 15 Feb 2012
3 answers
285 views
I am adding tabs to my tab control in the code behind.

Can you please provide an example of how to set the tab's image from the code behind?

Thank you
Petar Mladenov
Telerik team
 answered on 15 Feb 2012
5 answers
267 views
Hello,

I'm evaluating different WPF grids for a current software project in our company. By reading your documentations, forum threads and trying your demos, I couldn't find out if your GridView control could meet our special requirements:

- multiple grouping (could be fixed groups, not necassary for user to change grouping at runtime)
- different formulas/expressions per cell not just per column
- formulas/expressions related to other cells in other columns and rows, i.e. formula in cell A1: "B1 + C3"
- possibility for user to change the formulas (maybe with your expression editor?)

Could you tell me if this is somehow possible and give me an example?
Maya
Telerik team
 answered on 15 Feb 2012
3 answers
367 views
I have a RadGridView with a RadDataForm inside the RowDetails. When I expand a row and then scroll my mouse wheel through the grid results, the scrolling halts when my mouse array is over the RadDataForm....as if the DataForm is grabbing the scroll focus (but there are no scrollbars on the DataForm).

How can I prevent this? Thanks.

Here is my main xaml code:

<telerik:RadGridView Grid.Row="1" IsReadOnly="True" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" IsFilteringAllowed="False" ItemsSource="{Binding Results}" AutoGenerateColumns="False">
            <telerik:RadGridView.Style>
            </telerik:RadGridView.Style>
            <telerik:RadGridView.Columns>
                <telerik:GridViewToggleRowDetailsColumn />
                <telerik:GridViewSelectColumn IsVisible="{Binding DataContext.IsMultiSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:PatientSearchView}}}" />
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}" Width="*" />
................
            </telerik:RadGridView.Columns>
            <telerik:RadGridView.RowDetailsTemplate>
                <DataTemplate>
                    <telerik:RadTabControl Height="400" HorizontalAlignment="Stretch" Margin="8,8,20,8" VerticalAlignment="Center">                
                        <telerik:RadTabItem Header="Details" HorizontalContentAlignment="Stretch" HorizontalAlignment="Left">
                            <local:DetailsView DataContext="{Binding Details}" />
                        </telerik:RadTabItem>
...............
                    </telerik:RadTabControl>
 
                </DataTemplate>
            </telerik:RadGridView.RowDetailsTemplate>
        </telerik:RadGridView>

And then this is my DetailsView

<s:View ....>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Border BorderBrush="Black" BorderThickness=".5" Grid.Row="0" Height="90" Width="90" Margin="10,0,0,0" HorizontalAlignment="Left" >
            <Image Source="{Binding Details.Photo}" />
        </Border>
        <telerik:RadDataForm AutoGenerateFields="True" CurrentItem="{Binding Details}" CommandButtonsVisibility="Commit,Cancel,Edit" Grid.Row="1" ScrollViewer.CanContentScroll="False">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="EditEnded">
                    <i:InvokeCommandAction Command="{Binding Save}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </telerik:RadDataForm>
    </Grid>
</s:View>
Dimitrina
Telerik team
 answered on 15 Feb 2012
2 answers
60 views
Hello,

i've noticed that the radbusyindactor does not go to the "busy" state when you change the isBusy property fast. You can test this behavior in the telerik demos application when you use the busyIndicator Configurator and switch off isinditerminate. Then you click isbusy 3 times quickly. Now the state should be "busy" but it's not.
I've found out i can get it to go to busy state after applying a thread.sleep of 200 millisecs but that's a dumb solution.

Any chance of helping me out here?

Thanks in advance!
Ivo
Telerik team
 answered on 15 Feb 2012
1 answer
116 views
Hello


I am in the trial period right now and want to make sure of the distinction between the tabs created by the RadPaneGroup and the TabControl.

  • Would the RadPaneGroup be databound like the tabcontrol is? Is it used for a different purpose then the tabcontrol?
  • It seems that the RadPaneGroup is used inside of a Docking control, correct? is this the only correct place?


Thanks! These controls have been great to work with!

harold

Miroslav Nedyalkov
Telerik team
 answered on 15 Feb 2012
1 answer
196 views
Hello,

I created a RadGridView and binded a dataset. While double click a row, it should popup a message with the content of the ID cell. Can someone explain how to do this?

<telerik:RadGridView ItemsSource="{Binding}" x:Name="Listing" AutoGenerateColumns="False" SelectionMode="Single" IsReadOnly="True">
     <telerik:RadGridView.Columns>
      <telerik:GridViewDataColumn Header="ID" MinWidth="25" DataMemberBinding="{Binding Path=ID}"></telerik:GridViewDataColumn> 
          <telerik:GridViewDataColumn Header="Lastname" MinWidth="150" DataMemberBinding="{Binding Path=surname}"></telerik:GridViewDataColumn>
          <telerik:GridViewDataColumn Header="Initials" MinWidth="75" DataMemberBinding="{Binding Path=initials}"></telerik:GridViewDataColumn>
     </telerik:RadGridView.Columns>
</telerik:RadGridView>

After I added an event handler

Listing.MouseDoubleClick += RadGridView1_MouseDoubleClick;

How do I show the ID of the cell clicked?

public void RadGridView1_MouseDoubleClick(object sender, RoutedEventArgs e)
 {
            MessageBox.Show("ID" + ????);
 }

Dennis van Espelo
Top achievements
Rank 1
 answered on 15 Feb 2012
1 answer
117 views
Hello,

We are currently working with the Docking control and it works wonderfully.
There is only one problem If I only (un)pin a control   the LayoutChangeEnded event is not fired. Meaning that my code for save will not be executed.

With kind regards,
Kevin Hendriks
Miroslav Nedyalkov
Telerik team
 answered on 15 Feb 2012
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
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
DesktopAlert
WatermarkTextBox
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
ProgressBar
Sparkline
LayoutControl
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
Rating
SplashScreen
Accessibility
Callout
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?