什麼你正在尋找定製Gtk.CellRenderer
是:
private void MyClassRenderer(CellLayout cell_layout, CellRenderer cell, TreeModel model, TreeIter iter)
{
MyClass myclass = model.GetValue(iter, 0) as MyClass;
(cell as CellRendererText).Text = myclass.ToString();
}
隨着設置方法類似這樣的一些額外的代碼:
CellRendererText myClassCell = new CellRendererText();
combobox1.PackStart(myClassCell, true);
combobox1.SetCellDataFunc(myClassCell, MyClassRenderer);
ListStore store = new ListStore(typeof(MyClass));
store.AppendValues(new MyClass("hola",7));
store.AppendValues(new MyClass("hola2",8));
store.AppendValues(new MyClass("hola3",2));
combobox1.Model = store;
確保SetCellDataFunc
方法後PackStart
方法調用。
工作完成! :)
爲什麼你沒有爲combobox'combobox1.DisplayMember =「description」設置下列屬性; combobox1.ValueMember =「id」;'? – 2012-02-21 05:05:38