private void IndependientProcess()
        {
            proceso p = new proceso {
                ID = Thread.CurrentThread.ManagedThreadId,
                nombre = Thread.CurrentThread.GetApartmentState().ToString(),
                estado = "Iniciando", memoria = 0 };
            try
            {
                Dispatcher.Invoke(new addDataCallback(this.addData),p);
                int lenght = process.Count - 1;
                process[lenght].memoria = 0;
                Random r = new Random();
                
                Thread.Sleep(r.Next(1000, 3000));
                process[lenght].estado = "Ejecutando";
                while (true)
                {

                    Thread.Sleep(r.Next(100, 2000));

                    

                    Thread.Sleep(r.Next(1000, 3000));
                    ++process[lenght].memoria;
                }
            }
            catch (InvalidOperationException e)
            {
                Console.Write(e);
            }
            
        }
        private void IndependientProcess()
        {
            proceso p = new proceso {
                ID     = Thread.CurrentThread.ManagedThreadId,
                nombre = Thread.CurrentThread.GetApartmentState().ToString(),
                estado = "Iniciando", memoria = 0
            };

            try
            {
                Dispatcher.Invoke(new addDataCallback(this.addData), p);
                int lenght = process.Count - 1;
                process[lenght].memoria = 0;
                Random r = new Random();

                Thread.Sleep(r.Next(1000, 3000));
                process[lenght].estado = "Ejecutando";
                while (true)
                {
                    Thread.Sleep(r.Next(100, 2000));



                    Thread.Sleep(r.Next(1000, 3000));
                    ++process[lenght].memoria;
                }
            }
            catch (InvalidOperationException e)
            {
                Console.Write(e);
            }
        }
 private void procesView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     a     = (proceso)procesView.CurrentItem;
     id    = a.ID;
     index = process.IndexOf(a);
     Console.WriteLine(index);
 }
 public void addData(proceso p) {
     process.Add(p);
 }
 private void procesView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     a = (proceso)procesView.CurrentItem;
     id = a.ID;
     index = process.IndexOf(a);
     Console.WriteLine(index);
 }
 public void addData(proceso p)
 {
     process.Add(p);
 }