سؤال

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