【问题标题】:Mono GTK# view list with multiple views (icons, details, list etc)具有多个视图(图标、详细信息、列表等)的 Mono GTK# 视图列表
【发布时间】:2012-01-15 20:05:19
【问题描述】:

我正在编写我的第一个 Mono GTK# 应用程序,并且需要一个可以支持多个视图的列表控件,例如列表、详细信息、图标(类似于 Windows 资源管理器)。

我基本上需要一个将 TreeView、IconView 和 NodeView 合二为一的小部件。

最好我也想将节点分组为子节点。

我的应用程序是电影的元数据采集器,我可以在其中保存 1000 部电影。我想按字母对它们进行分组,因此“A”将是一个树节点,而在“世界末日”、“Antz”、“A Knights Tale”等之下,我想将这些电影视为图标(显示海报和标题)和详细信息(显示标题、星级、文件大小、文件位置等)。

我在原来的 WinForms 应用程序中使用 ObjectListView 控件实现了这一点,但我认为这个应用程序更适合 Mono / GTK#,因此它可以在多个平台(即 Mac 和 Linux)上运行。

有没有这样的小部件,或者我可以自定义 TreeView 或 IconView 来实现我所追求的吗?

TIA

【问题讨论】:

  • 我的第一个猜测是将这三个视图添加到您的应用程序中,但隐藏其中两个。您可以查看 Nautilus 源代码(Gnome 的文件管理器),与大多数文件管理器一样,它能够在这些视图之间切换。

标签: c# mono gtk#


【解决方案1】:

很遗憾,我无法对这个问题发表评论,所以我只是发布一个答案。

在 Gtk# 中,您可以同时实现:TreeView 和 NodeView 使用 Gtk.TreeView 小部件,但它不会像在 .NET 中那么容易。

IconView 将更难实现。您将不得不使用很多小部件,如 Gtk.FrameGtk.TableGtk.HBoxGtk.VBox 来获得不错的外观。

不幸的是,在 Gtk# 中没有什么是容易的。

回答您的问题:是的,有一个 Gtk.TreeView 小部件和许多其他小组件可以用来构建您的 IconView。它们非常可定制,但正如我之前所说,这不是一件容易的事。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多