Пример #1
0
        private void InitializeComboBox <T>(Gtk.ComboBox comboBox, IEnumerable <T> values, T activeValue, Func <T, string> toDisplayString)
        {
            var cellRenderer = new Gtk.CellRendererCombo();

            comboBox.PackStart(cellRenderer, true);
            comboBox.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellEnumRenderer <T>(l, e, m, i, toDisplayString));

            var model = new Gtk.ListStore(typeof(T));

            model.SynchronizeCollection(new ObservableCollection <T>(values));
            comboBox.Model = model;

            comboBox.Active = comboBox.GetIndexOfValue(activeValue);
        }