C# Xamarin如何基于defaultsettings以编程方式选择uitableview单元格

C# Xamarin如何基于defaultsettings以编程方式选择uitableview单元格,c#,ios,uitableview,xamarin,xamarin.ios,C#,Ios,Uitableview,Xamarin,Xamarin.ios,我见过一些uitableview和加载数据的示例,但我找不到我需要的解决方案 基本上我有一个数据源myList,我将数据加载到UIViewController中 public class Lookup { public string ID { get; set; } public string Name { get; set; } } public List<Lookup> myList = new List<Lookup>(); 这是一个来源的样本

我见过一些uitableview和加载数据的示例,但我找不到我需要的解决方案

基本上我有一个数据源myList,我将数据加载到UIViewController中

public class Lookup
{

    public string ID { get; set; }
    public string Name { get; set; }
}

public List<Lookup> myList = new List<Lookup>();
这是一个来源的样本

   class tableSource : UITableViewSource
{
    List<HospitalLookup> TableItems;
    string CellIdentifier = "TableCell";
    UIVCPreferences Parent;

    public tableSitesSource(List<Lookup> items, UIVCPreferences parent) 
    {
        TableItems = items;
        Parent = parent;
    }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
    {
        UITableViewCell cell = tableView.DequeueReusableCell(CellIdentifier);
        Lookup item = TableItems[indexPath.Row];            
        if (cell == null)
        { cell = new UITableViewCell(UITableViewCellStyle.Default, CellIdentifier); }
        cell.TextLabel.Text = item.Name;...

我想我可能需要另一种方法来实现这一点,任何帮助都将不胜感激。

首先:您的代码很难阅读。您应该通过坚持c的通用命名约定来改进它

myTableView中的列表是什么。选择行。。。?如果它是List类型,则应按myList显示。另外,SelectRow需要NSIndexPath作为第一个参数,但List.Find将返回一个查找实例。通过替换来尝试以下操作

myTableView.SelectRow(List.Find(UserLookupValue),false,UITableViewScrollPosition.None);


这对你有用吗?

嗨,谢谢你的帮助。很抱歉命名约定,我不得不修改一些代码来给出示例。我以后会更加关注这个问题。
       myTableView.SelectRow(List.Find(UserLookupValue),false,UITableViewScrollPosition.None);       
myTableView.SelectRow(List.Find(UserLookupValue),false,UITableViewScrollPosition.None);
var userLookupValueIndex = myList.IndexOf(userLookupValue);    
myTableView.SelectRow(NSIndexPath.FromRowSection(userLookupIndex, 0), false, UITableViewScrollPosition.None);