【发布时间】:2020-12-18 15:02:26
【问题描述】:
我正在使用 Xamarin.Mac 在 C# 中构建一个 Mac OS 应用程序。我想用存储更多信息的项目来填充下拉列表(NSPopUpButton),而不仅仅是它们的标题和索引。具体来说,我希望每个项目也拥有自己的数据库 ID,因此当用户从下拉列表中选择该项目时,我可以轻松地从数据库中获取相关记录。
我看到 NSPopUpButton 使用 NSMenuItem 的实例,并且继承 NSMenuItem 很容易,但似乎没有办法直接插入实例。 AddItem() 方法只接受一个字符串(项目的标题)并且没有重载。有没有办法使用自定义项目,还是我坚持使用标题和索引来区分?
谢谢!
【问题讨论】:
-
对它进行子类化并添加一个属性来保存您的额外信息有什么问题?
-
我不知道如何将该子类的实例添加到 NSPopUpButton 的项目中。我看到的唯一 AddItem 方法只需要一个字符串(对于 Title 属性),它创建的项目是一个标准的 NSMenuItem。
-
你需要使用
NSPopUpButton.Menu属性,看我的回答。
标签: xamarin xamarin.mac nspopupbutton