我試圖找到一個解決這個問題,我問創建一個NSView早些時候:Populate SourceList in Xamarin.Mac app編程在Xamarin工作室
我目前正在實施NSOutlineViewDelegate
的GetView
方法,看看是否可能會在一些文本OutlineView我有。
但我堅持試圖添加東西到NSView對象。當我查看示例OutlineView(默認情況下將其拖到窗口時獲得的示例)時,每個項目都有一個TableCellView
。該結構看起來像這樣(頭部,然後再經常項目):
Table Cell View
Static Text - HEADER CELL
Text Field Cell - HEADER CELL
Table Cell View
Image View
Image Cell
Static Text - Table View Cell
Text Field Cell - Table View Cell
到目前爲止,我的方法是這樣的:
public override NSView GetView (NSOutlineView outlineView, NSTableColumn tableColumn, NSObject item)
{
var navigation = item as Navigation;
var cell = new NSTableCellView();
if (navigation.IsHeader) {
} else {
}
return cell;
}
我的第一個猜測,對於標題,例如,我創建一個NSTableHeaderCell
並將StringValue
屬性設置爲navigation.Name
。但我不知道如何將它作爲孩子添加到我的NSTableViewCell
。
或者我是否完全錯誤的方式?我對Mono和Xamarin非常陌生(只使用WPF和XAML完成了C#和Visual Studio),之前我從來沒有在Objective-C中編寫過程序(所以我花了一段時間才弄清方法/類的奇怪語法)。
將這種或者其他的覆蓋能夠檢測用戶何時編輯了項目的文本字段的字符串值? – salgarcia
@salgarcia看到這個後續問題:http://stackoverflow.com/questions/17889328/listen-to-events-from-programatically-created-nsview – TheNextman