我正在编写我的第一个 Mono GTK# 应用程序,并且需要一个可以支持多个 View 的列表控件,例如列表、详细信息、图标(类似于 Windows 资源管理器)。
我基本上需要一个将 TreeView、IconView 和 NodeView 合二为一的小部件。
最好我也想将节点分组为子节点。
我的应用程序是一个用于电影的元数据采集器,我可以在其中拥有 1000 部电影。我想按字母将它们分组,所以“A”将是一个树节点,比我有“Armageddon”、“Antz”、“A Knights Tale”等要低,我想将这些电影视为图标(显示海报和标题)和详细信息(显示标题、星级、文件大小、文件位置等)。
我在我原来的 WinForms 应用程序中使用 ObjectListView 控件实现了这一点,但决定这个应用程序更适合 Mono/GTK#,因此它可以在多个平台(即 Mac 和 Linux)上运行。
有没有这样的小部件,或者我可以自定义 TreeView 或 IconView 来实现我所追求的吗?
TIA
最佳答案
不幸的是,我无法对这个问题发表评论,所以我只是发布了一个答案。
在 Gtk# 中,您可以使用 Gtk.TreeView
小部件同时实现:TreeView 和 NodeView,但是它不像在 .NET 中那么容易。
IconView 会有点难以实现。您将不得不使用许多小部件,如 Gtk.Frame
、 Gtk.Table
、 Gtk.HBox
和 Gtk.VBox
来获得体面的外观。
不幸的是,在 Gtk# 中没有什么是容易的。
回答您的问题:是的,有一个 Gtk.TreeView
小部件和许多其他小组件可以用来构建您的 IconView。它们非常可定制,但正如我之前所说,这不是一件容易的事。
我希望这有帮助。
关于c# - 具有多个 View 的 Mono GTK# View 列表(图标、详细信息、列表等),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8872925/