我在使用MonoMac在NSTableCellView中显示自定义数据方面遇到了问题。
以下是我的Ui Designer的截图:
以下是我在NSTableViewDataSource中使用的代码:
public class ClientsTableController : NSTableViewDataSource
{
NSTableView _tv;
public ClientsTableController (NSTableView tableView)
{
_tv = tableView;
_tv.DataSource = this;
SharedGlobals.ClientListIsModified += ClientListIsModified;
}
private void ClientListIsModified()
{
_tv.ReloadData ();
}
public override int GetRowCount (NSTableView tableView)
{
return SharedGlobals.Clients.Count;
}
public override NSObject GetObjectValue (NSTableView tableView, NSTableColumn tableColumn, int row)
{
Client currentClient = SharedGlobals.Clients.Values.ToList () [row];
NSTableCellView tcv = (NSTableCellView)(tableView.MakeView ("ClientCellView", _tv));
NSTextField username_tf = (NSTextField)(tcv.Subviews [0]);
username_tf.StringValue = currentClient.Username;
return tcv;
}
}
这样做不正常,返回的视图似乎没有正确加载:正如您在这里看到的那样,变量在代码中很好但是没有正确显示。
我已经检查过NSTextField username_tf = (NSTextField)(tcv.Subviews [0]);
是否返回了良好的UI项目,而且是。
我错过了什么吗?