Gtk#和treeview:如何获得“选中”项目?

时间:2010-11-18 17:43:49

标签: gtk gtk#

我无法理解GTK#如何获取树视图的选定项目。 我的代码示例: 在这里,我在tvStock中加载数据

        Gtk.TreeViewColumn marketCol = new Gtk.TreeViewColumn ();
            marketCol.Title = "Market";

            tvstock.AppendColumn(marketCol);

            Gtk.TreeIter iter = stockListStore.AppendValues ("Dax30");      

            stockListStore.AppendValues(iter, "Adidas");
            stockListStore.AppendValues(iter, "Commerzbank");

            iter = stockListStore.AppendValues ("Cac40");       
            stockListStore.AppendValues(iter, "Bnp Paribas");
            stockListStore.AppendValues(iter, "Veolia");

            iter = stockListStore.AppendValues ("FtseMib");     
            stockListStore.AppendValues(iter, "Fiat");
            stockListStore.AppendValues(iter, "Unicredit");

            tvstock.Model = stockListStore;

            // Create the text cell that will display the artist name
            Gtk.CellRendererText marketNameCell = new Gtk.CellRendererText ();
            // Add the cell to the column
            marketCol.PackStart (marketNameCell, true);     

            // Tell the Cell Renderers which items in the model to display
            marketCol.AddAttribute (marketNameCell, "text", 0);         

在我的 OnTvstockRowActivated 上,我如何获得所选行? 感谢

1 个答案:

答案 0 :(得分:5)

你有args行的路径,你可以从中生成它。

protected virtual void OnTvstockRowActivated (object o, Gtk.RowActivatedArgs args)
{
    var model = tvstock.Model;
    TreeIter iter;
    model.GetIter (out iter, args.Path);
    var value = model.GetValue (iter, 0);
    Console.WriteLine (value);
}