private void btn_Actulizar_Click(object sender, RoutedEventArgs e)
 {
     if (DgListaClientes.SelectedIndex >= 0)
     {
         ListaPersona lp = new ListaPersona();
         lp = (ListaPersona)DgListaClientes.SelectedValue;
         ActualizarCliente ac = new ActualizarCliente(lp.Identificación);
         ac.ShowDialog();
     }
 }
        }         // fin ActualizarUsuario

        public static List <ListaPersona> ListaPersonas()
        {
            //Producto pr = new Producto();
            ListaPersona        lPer;
            List <ListaPersona> listPer = new List <ListaPersona>();

            using (MySqlCommand cmd = new MySqlCommand())
            {
                try
                {
                    ConexionDB.Conexion().Open();

                    // setear parametros del command
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Connection  = ConexionDB.Conexion();
                    cmd.CommandText = "SpPersonaListar";

                    MySqlDataReader lectorProductos;
                    lectorProductos = cmd.ExecuteReader();

                    if (lectorProductos.HasRows)
                    {
                        while (lectorProductos.Read())
                        {
                            lPer = new ListaPersona();
                            lPer.Identificación = Convert.ToString(lectorProductos["identificacion"]);
                            lPer.Nombre         = Convert.ToString(lectorProductos["nombres"]) + " " + Convert.ToString(lectorProductos["apellidos"]);
                            lPer.Telefono       = Convert.ToString(lectorProductos["telefono"]);
                            lPer.Correo         = Convert.ToString(lectorProductos["correo"]);
                            lPer.Dirección      = Convert.ToString(lectorProductos["direccion"]);
                            lPer.Observaciones  = Convert.ToString(lectorProductos["observaciones"]);
                            listPer.Add(lPer);
                        }
                    }
                }
                catch (MySqlException ex)
                {
                    throw ex;
                }
                finally
                {
                    ConexionDB.Conexion().Close();
                }
            }
            return(listPer);
        }
        private void txt_filtro_TextChanged(object sender, TextChangedEventArgs e)
        {
            ICollectionView     IcvClientesFiltro;
            List <ListaPersona> listper = new List <ListaPersona>();
            ListaPersona        lp      = new ListaPersona();

            if (txt_filtro.Text != "" && txt_filtro.Text.Length > 2)
            {
                var filtro = from cli in AdministrarPersona.ListaPersonas()
                             where cli.Nombre.Contains(txt_filtro.Text)
                             select new { cli.Identificación, cli.Nombre, cli.Telefono, cli.Correo, cli.Dirección, cli.Observaciones };

                foreach (var fil in filtro)
                {
                    lp.Identificación = fil.Identificación;
                    lp.Nombre         = fil.Nombre;
                    lp.Telefono       = fil.Telefono;
                    lp.Correo         = fil.Correo;
                    lp.Dirección      = fil.Dirección;
                    lp.Observaciones  = fil.Observaciones;
                    listper.Add(lp);
                }

                IcvClientesFiltro = CollectionViewSource.GetDefaultView(listper);

                if (IcvClientesFiltro != null)
                {
                    DgListaClientes.AutoGenerateColumns = true;
                    DgListaClientes.IsReadOnly          = true;
                    DgListaClientes.MaxColumnWidth      = 300;
                    DgListaClientes.ItemsSource         = IcvClientesFiltro;
                    //cvPersonnes.Filter = TextFilter;
                }
            }
            else
            {
                LLenarTabla();
            }
        }