c# - 在 Xamarin.Mac 应用程序中填充 SourceList

标签 c# macos cocoa mono xamarin

我正在使用 Mono 和 Xamarin Studio 创建我的第一个 Mac 应用程序,因为我计划重用 Windows 版本中的一些 C# 代码。所以我对 XCode 和 Mono 都是全新的。我刚刚开始学习所有 Cocoa 的东西。

我正在尝试创建一个类似于 Finder 中我想用于导航的侧边栏。到目前为止,我已经发现应该使用 SourceList 对象,并使用 XCode 中的 Interface Builder 将其添加到我的界面中。但如何用标题和项目(带图标)填充它?

默认情况下,我会在 IB 中看到示例 header 和示例项目,但当我从 Xamarin Studio 运行应用程序时,它们不会显示。 SourceList 是空的。

还有人做过类似的事情吗?我找不到任何关于如何正确填充 SourceList 的好的示例或教程。

编辑:

我现在终于找到答案了。这是 TheNextman 的答案和他对后续问题的回答的组合:Create NSView programatically in Xamarin Studio

最佳答案

This answer将帮助您使用数据填充源列表(这只是一个样式化的 NSOutlineView)。

由于源列表是“基于 View ”的,因此您需要实现 NSOutlineViewDelegate 中的一些额外方法。协议(protocol)。从我的头顶上掉下来:

outlineView:isGroupItem: - 指定该项目是否为“标题” outlineView:dataCellForTableColumn:item: - 返回给定列/项目的单元格

关于c# - 在 Xamarin.Mac 应用程序中填充 SourceList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17518722/

相关文章:

c# - 在 session 中存储自定义对象

macos - 如何在 Mac 上退出 Electron 应用程序?

ios - 如果我没有进行更改,为什么我需要同步 NSUserDefaults?

macos - 对 NSTextField 设置限制

cocoa - NSRuleEditor : Criteria for new row

iphone - Xcode4:为自定义核心数据管理对象生成不同的代码

c# - 在 Google Play 控制台中分析或收集 ANR 的 Xamarin 堆栈跟踪

c# - 为什么我可以使用 If Else 语法而不是三元运算符?

c# - 如何在 Windows8 中使用 MediaElement 更改视频的位置?

objective-c - 为什么不会 [NSTextStorageappendAttributedString : ] accept my NSAttributedString's attributes?