/// <summary> /// Property changed callback /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void OnCoreNameChangedPropertyCallback(DependencyObject sender, DependencyPropertyChangedEventArgs e) { CPUCoreTemperatureChartUserControl instance = (CPUCoreTemperatureChartUserControl)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.CPUCoreTemperatureSensors) { var chart = (from r in this.MainContent.Children.OfType<CPUCoreTemperatureChartUserControl>() where r.CoreName == sensor.Name select r).FirstOrDefault(); if (chart == null) { var newChart = new CPUCoreTemperatureChartUserControl(); newChart.CoreName = sensor.Name; newChart.CurrentCoreTemperature = (sensor.Value != null) ? (double)sensor.Value.Value : default(double); this.MainContent.Children.Add(newChart); } else { chart.CurrentCoreTemperature = (sensor.Value != null) ? (double)sensor.Value.Value : default(double); } } } }