【发布时间】:2019-03-12 16:04:49
【问题描述】:
我对 Gtk# 很陌生(不到一周),所以希望这不是一个完全错误的问题:
我在 Gtk# 窗口中有一个 NodeView 小部件。它只是一个歌曲列表。当我点击歌曲时,我想更新一个“正在播放:”标签。
到目前为止我的代码如下:
protected void onSongSelected(object o, RowActivatedArgs args)
{
object selection = o;
//something needs to go here
currentSongName.Text = selection.ToString();
}
现在,我知道这是不正确的。但是,这给了我对象 o 的类型(以及变量“selection”),即“Gtk.NodeView”。但是,我无法弄清楚如何使用 NodeView 来访问所选节点中的任何信息。
我尝试按照此页面中的指南来解决我的问题: https://www.mono-project.com/docs/gui/gtksharp/widgets/nodeview-tutorial/
我创建了一个名为 MasterLibrary 的 TreeNode 类(几乎与示例相同)并尝试将 o 转换为 MasterLibrary 类型,如下所示:
object selection = (MasterLibrary)o;
但是,这会导致我的程序崩溃,因为说将 NodeView 强制转换为 MasterLibrary 类是无效的。
对于解决此问题的任何帮助将不胜感激。
【问题讨论】: