aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml.cs
blob: cd7562d0444333bd2912af9e792cf48f86f761cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Tango.PPC.UI.Views
{
    /// <summary>
    /// Interaction logic for MainView.xaml
    /// </summary>
    public partial class MainView : UserControl
    {
        public static MainView Instance { get; private set; }

        public MainView()
        {
            InitializeComponent();
            Instance = this;
        }
    }
}
ng System.Windows.Media; using System.Windows.Shapes; namespace RealTimeGraphEx.Components { public class GridLines : ComponentBase { private RealTimeGraphExBase lastGraph; #region Properties public int Rows { get { return (int)GetValue(RowsProperty); } set { SetValue(RowsProperty, value); } } public static readonly DependencyProperty RowsProperty = DependencyProperty.Register("Rows", typeof(int), typeof(GridLines), new PropertyMetadata(5)); public int Columns { get { return (int)GetValue(ColumnsProperty); } set { SetValue(ColumnsProperty, value); } } public static readonly DependencyProperty ColumnsProperty = DependencyProperty.Register("Columns", typeof(int), typeof(GridLines), new PropertyMetadata(9)); public Brush GridBrush { get { return (Brush)GetValue(GridBrushProperty); } set { SetValue(GridBrushProperty, value); } } public static readonly DependencyProperty GridBrushProperty = DependencyProperty.Register("GridBrush", typeof(Brush), typeof(GridLines), new PropertyMetadata(Brushes.Silver)); #endregion public GridLines() { Location = ComponentLocationEnum.Back; this.SizeChanged += (x, y) => { Render(Graph); }; } public void Render() { Render(lastGraph); } public override void Render(RealTimeGraphExBase graph, bool animate = false) { if (graph == null) return; lastGraph = graph; Grid grid = new Grid(); grid.Children.Clear(); grid.ColumnDefinitions.Clear(); grid.RowDefinitions.Clear(); for (int i = 0; i < Rows; i++) { RowDefinition row = new RowDefinition(); row.Height = new GridLength(1, GridUnitType.Star); grid.RowDefinitions.Add(row); RowDefinition rowLabels = new RowDefinition(); row.Height = new GridLength(1, GridUnitType.Star); } for (int i = 0; i < Columns; i++) { ColumnDefinition column = new ColumnDefinition(); column.Width = new GridLength(1, GridUnitType.Star); grid.ColumnDefinitions.Add(column); } for (int i = 0; i < grid.RowDefinitions.Count - 1; i++) { Rectangle rec = new Rectangle(); rec.Height = 1; rec.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; rec.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; rec.Fill = GridBrush; Grid.SetRow(rec, i); Grid.SetColumn(rec, 0); Grid.SetColumnSpan(rec, grid.ColumnDefinitions.Count); grid.Children.Add(rec); } for (int i = 0; i < grid.ColumnDefinitions.Count - 1; i++) { Rectangle rec = new Rectangle(); rec.Width = 1; rec.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; rec.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; rec.Fill = GridBrush; Grid.SetColumn(rec, i); Grid.SetRow(rec, 0); Grid.SetRowSpan(rec, grid.RowDefinitions.Count); grid.Children.Add(rec); } this.Content = grid; //if (!graph.gridBack.Children.Contains(this)) //{ // this.RemoveFromParent(); // graph.gridBack.Children.Add(this); //} } } }