public MainWindow() : base(Gtk.WindowType.Toplevel) { Build(); //var list = new[] { //new { Id = 1, Nombre = "Artículo 1"}, // new { Id = 2, Nombre = "Artículo 2"}, // new { Id = 3, Nombre = "Artículo 3"} //}; Title = "Artículo"; EntityDao <Articulo> articuloDao = new EntityDao <Articulo>(); TreeViewHelper.Fill(treeView, new string[] { "Id", "Nombre", "Precio", "Categoria" }, articuloDao.Enumerable); newAction.Activated += delegate { //new ArticuloWindow(new Articulo()); Articulo articulo = new Articulo(); articulo.Nombre = "Articulo " + DateTime.Now.ToString(); articulo.Precio = new decimal(new Random().NextDouble() * 100); articulo.Categoria = (ulong)new Random().Next(3) + 1; articuloDao.Save(articulo); }; editAction.Activated += delegate { object id = TreeViewHelper.GetId(treeView); Articulo articulo = articuloDao.Load(id); new ArticuloWindow(articulo); }; deleteAction.Activated += delegate { if (WindowHelper.Confirm(this, "¿Quieres eliminar el registro?")) { object id = TreeViewHelper.GetId(treeView); articuloDao.Delete(id); } }; refreshAction.Activated += delegate { TreeViewHelper.Fill(treeView, new string[] { "Id", "Nombre", "Precio", "Categoria" }, articuloDao.Enumerable); }; treeView.Selection.Changed += delegate { refreshUI(); }; refreshUI(); }