Example #1
0
        /// <summary>
        /// Property changed callback
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void OnCoreNameChangedPropertyCallback(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            CPUCoreWorkloadChartUserControl instance = (CPUCoreWorkloadChartUserControl)sender;

            instance.CoreNameChangedPropertyCallback(e); // Call non-static
        }
        /// <summary>
        /// Timer-Tick-Event of the OHM-Service
        /// </summary>
        /// <param name="args"></param>
        private void OpenHardwareMonitorManagementServiceTimerTickEventHandler(OpenHardwareMonitorManagementServiceTimerTickEventArgs args)
        {
            if (this.openHardwareManagementService.CPU != null)
            {
                // Get core workload
                foreach (var sensor in this.openHardwareManagementService.CPUCoreWorkloadSensors)
                {
                    var chart = (from r in this.MainContent.Children.OfType<CPUCoreWorkloadChartUserControl>()
                                 where r.CoreName == sensor.Name
                                 select r).FirstOrDefault();

                    if (chart == null)
                    {
                        var newChart = new CPUCoreWorkloadChartUserControl();
                        newChart.CoreName = sensor.Name;
                        newChart.CurrentCoreWorkload = (sensor.Value != null) ? (double)sensor.Value.Value : default(double);
                        this.MainContent.Children.Add(newChart);
                    }
                    else
                    {
                        chart.CurrentCoreWorkload = (sensor.Value != null) ? (double)sensor.Value.Value : default(double);
                    }
                }
            }
        }