문제

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