2016-02-27 2 views
0

Можно добавить элемент в GtkSharp TreeView в верхней части списка/дерева?
Это возможно в форме Windows, например, таким образом:
listBox.Items.Insert(0, "anyItem");MonoDevelop/GtkSharp - Как добавить элемент в начало списка в TreeView?

Однако я отметить возможность найти аналогичное решение в GtkSharp.

ответ

0

Создайте объект ListStore или TreeStore и назначьте его свойству модели TreeView. Затем вы можете вставлять или добавлять элементы, используя объект ListStore или TreeStore.

Ниже приведен простой пример использования ListStore.

var listView = new TreeView(); 
listView.HeadersVisible = false; 

listStore = new ListStore (typeof(string)); 
listView.Model = listStore; 

var cellView = new CellRendererText(); 
var column = new TreeViewColumn ("Title", cellView); 
column.AddAttribute (cellView, "text", 0); 
listView.AppendColumn (column); 

Затем вы можете вставить элемент с помощью:

int position = 0; 
listStore.InsertWithValues (position, "MyItem"); 
+0

чудо. Он работает, спасибо вам большое, но проблема в том, что вертикальная полоса прокрутки перемещается вместе с первыми элементами, а новые элементы incomig выше не видны. Знаете ли вы, как решить эту проблему, пожалуйста? Прошу прощения за мой английский. – skybedy

+0

Дополнительная информация об этом - в WindowsForm это возможно с помощью 'listBox.SelectedIndex = 0', а затем каждый новый элемент выбран и также видим. Возможно ли подобное в Mono? – skybedy

+0

TreeView имеет метод ScrollToCell, который вы можете использовать для обеспечения видимости определенной строки. –