Ejemplo n.º 1
0
        public MultiSelect()
        {
            agregar.Clicked += delegate {
                if (list.SelectedItems.Count > 0)
                {
                    foreach (var item in list.SelectedItems)
                    {
                        selected.List.Add(item);
                        list.List.Remove(item);
                    }
                    selected.Refresh();
                    list.Refresh();
                }
            };

            agregarTodos.Clicked += delegate {
                foreach (var item in list.List)
                {
                    selected.List.Add(item);
                }
                selected.Refresh();
                list.List.Clear();
                list.Refresh();
            };

            quitar.Clicked += delegate {
                if (selected.SelectedItems.Count > 0)
                {
                    foreach (var item in selected.SelectedItems)
                    {
                        list.List.Add(item);
                        selected.List.Remove(item);
                    }
                    selected.Refresh();
                    list.Refresh();
                }
            };

            quitarTodos.Clicked += delegate {
                foreach (var item in selected.List)
                {
                    list.List.Add(item);
                }
                selected.List.Clear();
                selected.Refresh();
                list.Refresh();
            };

            actionBox.PackStart(agregar);
            actionBox.PackStart(quitar);
            actionBox.PackStart(agregarTodos);
            actionBox.PackStart(quitarTodos);

            PackStart(selected.WithLabel(Application.TranslationCatalog.GetString("Selected")), true, true);
            PackStart(actionBox);
            PackStart(list.WithLabel(Application.TranslationCatalog.GetString("Availables")), true, true);
        }