Ejemplo n.º 1
0
 void TrendView_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
 {
     ViewModel.TrendViewModel tv = (ViewModel.TrendViewModel)DataContext;
     if (e.OldValue != null)
     {
         ((ViewModel.TrendViewModel)e.OldValue).PropertyChanged -= tv_PropertyChanged;
     }
     tv.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(tv_PropertyChanged);
     tv.UpdateCommand.Execute(null);
 }
Ejemplo n.º 2
0
        /*void TrendView_Loaded(object sender, RoutedEventArgs e)
         * {
         *  ViewModel.TrendViewModel tv = (ViewModel.TrendViewModel)DataContext;
         *  tv.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(tv_PropertyChanged);
         *  tv.Home.Execute(null);
         *
         * }*/

        void tv_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "Data")
            {
                ViewModel.TrendViewModel tv = (ViewModel.TrendViewModel)sender;

                _trend.Children.RemoveAll(typeof(LineGraph));
                _trend.Viewport.Visible = new Rect(_timeAxis.ConvertToDouble(tv.From), tv.Min, _timeAxis.ConvertToDouble(tv.To) - _timeAxis.ConvertToDouble(tv.From), tv.Max);
                int i = 0;
                foreach (ChartModel cm in tv.Data)
                {
                    EnumerableDataSource <ChartItemModel> eds = new EnumerableDataSource <ChartItemModel>(cm.ChartData);
                    cm.ChartData.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(TrendView_CollectionChanged);

                    eds.SetXYMapping(dfc => new Point(_timeAxis.ConvertToDouble(dfc.Timestamp), dfc.Value));

                    _trend.AddLineGraph(eds, new Pen(cm.Color, 2.0), new PenDescription(cm.Name));
                }
            }
        }
Ejemplo n.º 3
0
 void TrendView_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     ViewModel.TrendViewModel tv = (ViewModel.TrendViewModel)DataContext;
     _trend.Viewport.Visible = new Rect(_timeAxis.ConvertToDouble(tv.From), tv.Min, _timeAxis.ConvertToDouble(tv.To) - _timeAxis.ConvertToDouble(tv.From), tv.Max);
 }