| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- using Oreo.PCMonitor.Commons;
- using Oreo.PCMonitor.Models;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Shapes;
- using Y.Utils.DataUtils.Collections;
- using Y.Utils.DataUtils.UnitConvertUtils;
- namespace Oreo.PCMonitor.Views
- {
- /// <summary>
- /// NetDetailsWindow.xaml 的交互逻辑
- /// </summary>
- public partial class NetDetailsWindow : Window, INotifyPropertyChanged
- {
- private string _Status = string.Empty;
- public string Status
- {
- get { return _Status; }
- set
- {
- _Status = value;
- OnPropertyChanged("Status");
- }
- }
- private ObservableCollection<NetProcessInfo> _ObNetPro = new ObservableCollection<NetProcessInfo>();
- public ObservableCollection<NetProcessInfo> ObNetPro
- {
- get { return _ObNetPro; }
- set
- {
- _ObNetPro = value;
- OnPropertyChanged("ObNetPro");
- }
- }
- public event PropertyChangedEventHandler PropertyChanged;
- public virtual void OnPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- public NetDetailsWindow()
- {
- InitializeComponent();
- DataContext = this;
- }
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
- Task.Factory.StartNew(() =>
- {
- while (IsVisible)
- {
- if (R.NFS.IsNetFlowRun || R.NFS.IsNetPacketRun)
- {
- //R.Log.v("IsNetFlowRun: " + R.NFS.IsNetFlowRun + " IsNetPacketRun: " + R.NFS.IsNetPacketRun +
- // " Upload: " + R.NFS.NetFlow.UploadData + " Download: " + R.NFS.NetFlow.DownloadData);
- UIDgProcessDetailUpdate();
- }
- Thread.Sleep(1000);
- }
- });
- }
- public void Order(object sender, MouseButtonEventArgs e)
- {
- }
- private void UIDgProcessDetailUpdate()
- {
- Dispatcher.Invoke(new Action(() =>
- {
- if (R.NFS != null && ListTool.HasElements(R.NFS.NetProcessInfoList))
- {
- Status = string.Format("下载:{0},上传:{1}(丢包:{2})",
- ByteConvertTool.Fmt(R.NFS.NetFlow.DownloadData),
- ByteConvertTool.Fmt(R.NFS.NetFlow.UploadData),
- R.NFS.LostPacketCount);
- ObNetPro = new ObservableCollection<NetProcessInfo>(R.NFS.NetProcessInfoList);
- //label1.Text = "丢包数:" + R.NFS.LostPacketCount;
- //LbStatus.Content = "下载:" + ByteConvertTool.Fmt(R.NFS.NetFlow.DownloadData) +
- // " 上传:" + ByteConvertTool.Fmt(R.NFS.NetFlow.UploadData);
- //R.NFS.NetProcessInfoList.ForEach(p =>
- //{
- // bool isUpdate = false;
- // foreach (DataGridViewRow r in DgProcessDetail.Rows)
- // {
- // if (r.Cells["CoName"].Value.ToString() == p.ProcessName)
- // {
- // isUpdate = true;
- // r.Cells["CoDownload"].Value = ByteConvertTool.Fmt(p.DownloadData);
- // r.Cells["CoUpload"].Value = ByteConvertTool.Fmt(p.UploadData);
- // r.Cells["CoDownloadCount"].Value = ByteConvertTool.Fmt(p.DownloadDataCount);
- // r.Cells["CoUploadCount"].Value = ByteConvertTool.Fmt(p.UploadDataCount);
- // r.Cells["CoConnectionCount"].Value = p.ConnectCount;
- // }
- // }
- // if (!isUpdate)
- // {
- // DgProcessDetail.Rows.Add(new object[] {
- // p.ProcessIcon,p.ProcessName,
- // ByteConvertTool.Fmt(p.DownloadData),ByteConvertTool.Fmt(p.UploadData),
- // ByteConvertTool.Fmt(p.DownloadDataCount),ByteConvertTool.Fmt(p.UploadDataCount),
- // p.DownloadBagCount});
- // }
- //});
- }
- }));
- }
- }
- }
|