如何通过单击Xamarin4中的表格视图单元格打开表格视图

时间:2017-07-13 16:23:56

标签: c# ios uitableview xamarin

SCREEN SHOT我是Xamarin和C#的新手,

我想知道如何通过按下Xamarin中的表格视图单元格来打开一个新的表格视图控制器?现在我的应用程序打开我的表格视图,并且它被编程,所以当按下该表格视图中的单元格时,会弹出一个弹出窗口,显示“行选择等等”。

谢谢

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Foundation;
using UIKit;

namespace App2

{
    public class TableSource : UITableViewSource
    {
        string[] TableItems;
        string CellIdentifier = "TableCell";

        public TableSource(string[] items)
        {
            TableItems = items;
        }

        public override nint RowsInSection(UITableView tableview, nint section)
        {
            return TableItems.Length;
        }

        public static string SelectedRow;

        public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
        {
#pragma warning disable CS0618 // Type or member is obsolete
            new UIAlertView("Row Selected", TableItems[indexPath.Row], null, "OK").Show();
#pragma warning restore CS0618 // Type or member is obsolete

            SelectedRow = TableItems[indexPath.Row];
        }


        public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            UITableViewCell cell = tableView.DequeueReusableCell(CellIdentifier);
            string item = TableItems[indexPath.Row];

            //---- if there are no cells to reuse, create a new one
            if (cell == null)
            { cell = new UITableViewCell(UITableViewCellStyle.Default, CellIdentifier); }

            cell.TextLabel.Text = item;

            return cell;
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

Xamarin website上有一个配方。这显示了如何处理tableview点击事件。要呈现新的viewcontroller,您可以执行与此类似的操作

public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
{

 ViewController vc = new ViewController();
 PresentViewController(vc, true, null);
}

Here是另一种资源。它是一个填充了不同朋友的tableview,当用户选择其中一行时,它将进入另一个视图,其中包含所选行的信息。