Xamarin UITableViewController RowSelected未触发

时间:2016-04-03 18:56:11

标签: uitableview xamarin xamarin.ios

我在Xamarin Studio中有一个故事板,其中包含一个UITableViewController。我已经按照示例创建了一个继承自UITableViewSource的数据源。数据源在ViewDidLoad中分配。

UITableViewController中,我设置了数据源(而不是委托)。出现数据列表,但是当我在一行上单击(在模拟器中)时,RowSelected事件处理程序不会触发。

我尝试在ViewDidLoad

中自己连接事件处理程序
this.RowSelected += TableView_RowSelected(this.TableView, this.TableView.IndexPathForSelectedRow);

这会导致编译错误,指出您无法分配到RowSelected,因为它是方法组。

我注意到此网站上的其他人通过从事件处理程序中删除base.RowSelected (tableView, indexPath);解决了同样的问题,但这对我不起作用。

1 个答案:

答案 0 :(得分:0)

RowSelected是一种方法,而不是属性,这就是为什么你不能分配它。

如果您想使用RowSelected,请覆盖TableViewControllerTableViewSource中的方法。

public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
    base.RowSelected(tableView, indexPath); 
}