建立項目将DynamicDataDisplay.dll 加載到References 中,打開MainWindow.xaml 添加命名空間xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"。通過<d3:ChartPlotter> 建立一個圖表架構,在其中添加兩條整型坐标軸,X軸:<d3:HorizontalIntegerAxis>,Y軸:<d3:VerticalIntegerAxis>。<d3:Header> 用來設定圖表名稱,<d3:VerticalAxisTitle> 用來設定Y軸名稱。
接下來工作需要通過C#每秒擷取一次CPU使用率,并将這些資料生成坐标點(Point)繪制在圖表中。 以下是MainWindow.xaml.cs 部分的代碼内容。
通過ObservableDataSource<Point> 動态存儲圖表坐标點,PerformanceCounter 擷取CPU使用率數值,DispatcherTimer 計時器在規定間隔進行取數操作,整型i 作為CPU使用率坐标點的X軸數值。
AnimatedPlot 事件用于構造坐标點,通過設定cpuPerformance 相關參數,并使用NextValue() 方法擷取目前CPU使用率資料作為Y值,整型i 作為X值。将X、Y值構造為坐标點(Point),并通過異步方式存儲在dataSource 中。
最後通過Window_Loaded 将事件加載到<Window> 中,AddLineGraph 方法将dataSource 中的坐标點繪制到圖表中,曲線顔色定義為綠色,粗細設定為2,曲線名稱為"Percentage"。設定計時器間隔為1秒,連續執行AnimatedPlot 事件實時繪制新坐标點。
滑鼠右鍵可将圖表拷貝到其他文檔:
滑鼠左鍵拖動圖表浏覽任意位置曲線資料,滑鼠中鍵可以縮放顯示曲線圖。
<a href="http://images.cnblogs.com/cnblogs_com/gnielee/WindowsLiveWriter/6fbedf690751_F149/Capture_2.gif"></a>
<a href="http://cid-c75f4e27adfe5bbc.office.live.com/self.aspx/GnieTech/WpfPerformance.zip">WpfPerformance.zip</a>
本文轉自Gnie部落格園部落格,原文連結:http://www.cnblogs.com/gnielee/archive/2010/08/02/wpf-cpu-usage.html,如需轉載請自行聯系原作者