Pergunta

i want to manual call render one row in mono treeview.its render if mouse move or mouse click or leave in treeview.i want to call render manual treeview if my property changed.

this code call if treeview mouseover or click or leave(i want to call this if my class property changed or manual call ):

store = new TreeStore (typeof(LinkInfo));

tv.Selection.Mode = SelectionMode.Multiple;
tv.Model = store;
tv.HeadersVisible = true;
tv.AppendColumn ("File Name", new CellRendererText (), RenderFileName);


public void RenderFileName (TreeViewColumn col, CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter)
{
LinkInfo value = (LinkInfo)model.GetValue (iter, 0);
(cell as Gtk.CellRendererText).Text = value.PathInfo.FileName;
}
Foi útil?

Solução

i found answer for this question. if use this code you can manual set render for treeview Item:

        var pth = tv.Model.GetPath (iter);
        store.EmitRowChanged (pth, iter);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top