/// <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); } } } }