在XamarinStudio中以编程方式创建NSView实现NSOutlineViewDelegate的GetView方法,看看我是否可以在我拥有的OutlineView中创建一些文本。但是我一直在尝试向NSView对象添加内容。当我查看示例OutlineView(将它拖到窗口时默认获得的那个)时,每个项目都有一个TableCellView。结构看起来像这样(首先是标题,然后是常规项目):表单元格视图静态文本-HEADERCELL文本字段单元格-HEADERCELL到目前为止看起来像这样:publicoverrideNSViewGetView(NSOutlineViewoutlineView,NSTableColumntableColumn,NSObjectitem){varcell=newNSTableCellView();if(navigation.IsHeader){}else{}返回单元格;}我首先想到的是header的内容,比如我创建了一个NSTableHeaderCell,并将StringValue属性设置为navigation.Name。但我不知道如何将它作为孩子添加到我的NSTableViewCell中。还是我会以完全错误的方式解决这个问题?我是Mono和Xamarin的新手(刚刚用WPF和XAML完成了C#和VisualStudio)并且我以前从未在Objective-C中编程过(所以我花了一段时间才弄清楚方法/类的奇怪语法)。您将在XCode中看到TableCellView对象有一个您可以设置的“标识符”。就我而言,我有“HeaderCell”和“DataCell”。我的代码是这样的:}returnoutlineView.MakeView("DataCell",this);这将创建一个在XCode中定义的TableCellView的适当实例。在我的例子中,我使用Cocoa绑定而不是数据源,所以我的视图会自动填充数据。这可能是您想要研究的方法,因为它更接近WPF/XAML数据绑定方式。但是,它的学习曲线陡峭并且难以调试(就像WPF/XAML数据绑定一样!)。您可以访问其子视图并适当地设置它们,而不是简单地返回单元格。类似于:vardataView=outlineView.MakeView("DataCell",this);((NSImageView)dataView.Subviews[0]).Image=//分配图像((NSTextField)dataView.Subviews[1]).StringValue=//分配文本returndataView;(注:我只是凭空打字,可能行不通——但希望你能明白)以上就是C#学习教程:在XamarinStudio中以编程方式创建NSView分享的全部内容如果对你有用的话还有你需要了解更多的C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
