or
| <telerik:RadGridView x:Name="GridView" |
| ItemsSource="{Binding DataContext.ObservDistributions, ElementName=DistributionView}" |
| AutoGenerateColumns="False" |
| CanUserFreezeColumns="False" |
| acb:CommandBehavior.Event="MouseDoubleClick" |
| acb:CommandBehavior.Command="{Binding SelectCurrentDistributionCommand}" |
| acb:CommandBehavior.CommandParameter="{Binding ElementName=GridView, Path=SelectedItem}"> |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn Header="Name" DataMemberBinding="{Binding Name}" IsReadOnly="True" /> |
| <column:DateTimePickerColumn Header="Date" DataMemberBinding="{Binding DateFrom}" Width="200"></column:DateTimePickerColumn> |
| <telerik:GridViewComboBoxColumn Header="Establishment" ItemsSource="{Binding DataContext.Establishments, ElementName=DistributionView}" SelectedValueMemberPath="EstablishmentId" DisplayMemberPath="Name" DataMemberBinding="{Binding Establishment.EstablishmentId, Mode=TwoWay}"> |
| </telerik:GridViewComboBoxColumn> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
<telerikHTML:HtmlDataProvider Name="dp1" Html="{Binding TaskText, Mode=TwoWay}" RichTextBox="{Binding ElementName=TaskEditor}" /><telerik:RadRichTextBox x:Name="TaskEditor" Grid.Row="1" Grid.Column="1" Margin="0,5,0,5" AllowDrop="True" ShowComments="True" IsSelectionMiniToolBarEnabled="false" LayoutMode="Flow" DocumentInheritsDefaultStyleSettings="True" GotFocus="EditorGotFocus" LostFocus="EditorLostFocus"/>private void EditorGotFocus(object sender, RoutedEventArgs e) { _lastDataContext = _contextualTabView.DataContext; _contextualTabView.DataContext = TaskEditor.Commands; _lastTab = _ribbonView.SelectedTab; _contextualGroup.IsActive = true; } private void EditorLostFocus(object sender, RoutedEventArgs e) { _contextualGroup.IsActive = false; _lastTab.IsSelected = true; _contextualTabView.DataContext = _lastDataContext; }private void EditorPreviewEditorKeyDown(object sender, PreviewEditorKeyEventArgs e) {var word = radRichTextBox.Document.CaretPosition.GetCurrentWord();
<telerik:GridViewColumn Header="Notes" Width="50">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<telerik:RadButton Name="btnObj" Height="25" Width="25" Click="btnObj_Click">
<telerik:RadButton.Content>
<Image Name="imgNotes" Source="/Images/notes.png" Height="16" Width="16" />
</telerik:RadButton.Content>
</telerik:RadButton>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
| private void InitGrid() { |
| rcData.DefaultView.ChartArea.EnableAnimations = false; |
| rcData.DefaultView.ChartLegend.Visibility = System.Windows.Visibility.Collapsed; |
| rcData.DefaultSeriesDefinition = new LineSeriesDefinition(); |
| rcData.DefaultSeriesDefinition.Appearance.Stroke = Brushes.Red; |
| rcData.DefaultSeriesDefinition.Appearance.StrokeThickness = 2; |
| rcData.DefaultSeriesDefinition.ShowItemToolTips = true; |
| rcData.DefaultView.ChartArea.AxisX.IsDateTime = true; |
| rcData.DefaultView.ChartArea.AxisX.LabelRotationAngle = 80; |
| //60 would be better - but then the last label is truncated... |
| rcData.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "HH:mm:ss"; |
| rcData.DefaultView.ChartArea.AxisX.LayoutMode = AxisLayoutMode.Normal; |
| rcData.DefaultView.ChartArea.AxisX.AutoRange = false; |
| if(m_ocData.Count > 0) { |
| rcData.DefaultView.ChartArea.AxisX.MinValue = m_ocData.First().MeassureTime.AddSeconds(-0.5).ToOADate(); |
| rcData.DefaultView.ChartArea.AxisX.MaxValue = m_ocData.First().MeassureTime.AddSeconds(ms_nWindowLength + 1).ToOADate(); |
| } |
| rcData.DefaultView.ChartArea.AxisX.LabelStep = 1; |
| rcData.DefaultView.ChartArea.AxisX.MajorGridLinesVisibility = Visibility.Visible; |
| rcData.DefaultView.ChartArea.AxisX.Step = 0.000022890946517388029 / 2; |
| rcData.DefaultView.ChartArea.AxisY.AutoRange = false; |
| rcData.DefaultView.ChartArea.AxisY.MinValue = 0; |
| rcData.DefaultView.ChartArea.AxisY.MaxValue = 255; |
| rcData.DefaultView.ChartArea.AxisY.MinorTicksVisibility = Visibility.Collapsed; |
| rcData.DefaultView.ChartArea.ItemToolTipOpening += new ItemToolTipEventHandler(ChartArea_ItemToolTipOpening); |
| SeriesMapping seriesMapping = new SeriesMapping(); |
| seriesMapping.ItemMappings.Add(new ItemMapping("TheValue", DataPointMember.YValue)); |
| seriesMapping.ItemMappings.Add(new ItemMapping("MeassureTime", DataPointMember.XValue)); |
| rcData.SeriesMappings.Add(seriesMapping); |
| rcData.ItemsSource = m_ocData; |
| //if done before binding it doesn't work :( |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Clear(); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 0 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 50 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 100 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 150 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 200 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 255 }); |
| } |
| if(m_ocData.Count > 0) { |
| rcData.DefaultView.ChartArea.AxisX.MinValue = m_ocData.First().MeassureTime.AddSeconds(-0.5).ToOADate(); |
| rcData.DefaultView.ChartArea.AxisX.MaxValue = m_ocData.First().MeassureTime.AddSeconds(ms_nWindowLength+1).ToOADate(); |
| } |
| private void ScrollGrid() { |
| if(m_ocData.Count > 0) { |
| rcData.DefaultView.ChartArea.AxisX.MinValue = m_ocData.First().MeassureTime.AddSeconds(-0.5).ToOADate(); |
| rcData.DefaultView.ChartArea.AxisX.MaxValue = m_ocData.First().MeassureTime.AddSeconds(ms_nWindowLength+1).ToOADate(); |
| } |
| //set some values again - they get lost |
| rcData.DefaultView.ChartArea.AxisX.Step = 0.000022890946517388029 / 2; |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Clear(); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 0 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 50 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 100 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 150 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 200 }); |
| rcData.DefaultView.ChartArea.AxisY.TickPoints.Add(new TickPoint() { Value = 255 }); |
| } |
public partial class MainWindow : Window { private DataTable dt = null; public MainWindow() { InitializeComponent(); radChart1.DefaultView.ChartArea.EnableAnimations = false; radChart1.DefaultView.ChartLegend.Visibility = System.Windows.Visibility.Collapsed; //radChart1.SamplingSettings.SamplingFunction = ChartSamplingFunction.Average; radChart1.SamplingSettings.SamplingThreshold = 0; radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "HH:mm:ss"; radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.ScrollMode = ScrollMode.ScrollAndZoom; radChart1.DefaultView.ChartArea.AxisX.AutoRange = false; radChart1.DefaultView.ChartArea.AxisX.IsDateTime = true; radChart1.DefaultView.ChartArea.AxisX.MinValue = DateTime.Now.ToOADate(); radChart1.DefaultView.ChartArea.AxisX.MaxValue = DateTime.Now.AddMinutes(5000).ToOADate(); } private void button2_Click(object sender, RoutedEventArgs e) { dt = CreateDataTable("SERIES_" + radChart1.SeriesMappings.Count.ToString()); MessageBox.Show("Data generated for series: " + "SERIES_" + radChart1.SeriesMappings.Count.ToString()); AddNewSeries("SERIES_" + radChart1.SeriesMappings.Count.ToString()); } private void AddNewSeries(String tag) { AxisY axisY = new AxisY(); axisY.AxisName = tag; axisY.Title = tag; axisY.DefaultLabelFormat = "#VAL{#,##0.00}"; axisY.AutoRange = false; axisY.MinValue = 0; axisY.MaxValue = 200; axisY.Step = 10; Style customAxisYStyle = this.Resources["CustomAxis"] as Style; axisY.AxisStyles.AxisLineStyle = customAxisYStyle; axisY.AxisStyles.TickLineStyle = this.Resources["AxisYTickStyle"] as Style; axisY.AxisStyles.MinorTickLineStyle = this.Resources["AxisYMinorTickStyle"] as Style; axisY.AxisStyles.ItemLabelStyle = this.Resources["ItemLabelStyle"] as Style; axisY.AxisStyles.TitleStyle = this.Resources["AxisTitleStyle"] as Style; if (radChart1.DefaultView.ChartArea.AxisY.AxisName == "") { radChart1.DefaultView.ChartArea.AxisY = axisY; } else { radChart1.DefaultView.ChartArea.AdditionalYAxes.Add(axisY); axisY.Visibility = System.Windows.Visibility.Collapsed; } LineSeriesDefinition seriesDef = new LineSeriesDefinition(); seriesDef.ShowItemLabels = false; seriesDef.ShowPointMarks = false; seriesDef.ShowItemToolTips = false; seriesDef.SeriesName = tag; SeriesMapping m1 = new SeriesMapping(); m1.ItemMappings.Add(new ItemMapping() { DataPointMember = DataPointMember.YValue, FieldName = tag, FieldType = typeof(double) }); m1.ItemMappings.Add(new ItemMapping() { DataPointMember = DataPointMember.XValue, FieldName = tag + "_TS", FieldType = typeof(DateTime) }); m1.SeriesDefinition = seriesDef; m1.LegendLabel = tag; m1.SeriesDefinition.AxisName = axisY.AxisName; m1.ItemsSource = dt; radChart1.SeriesMappings.Add(m1); } DataTable CreateDataTable(String tagName) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn(tagName, typeof(Double))); dt.Columns.Add(new DataColumn(tagName + "_TS", typeof(DateTime))); Random r = new Random(Environment.TickCount); for (int i = 0; i < 5000; i++) { DataRow dr = dt.NewRow(); if (radChart1.DefaultView.ChartArea.HasItems) dr[tagName] = r.Next(1, 100); else dr[tagName] = r.Next(1, 100); dr[tagName + "_TS"] = DateTime.Now.AddMinutes(i); dt.Rows.Add(dr); } return dt; } }