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;
}
有帮助吗?

解决方案

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top