У меня есть DialogViewController с EnableSearch = true. Поиск работает нормально и отображает результаты в диалоговом окне. Если я перейду к элементу результата или к другой вкладке, А ЗАТЕМ вернусь на вкладку поиска и попытаюсь коснуться любого из элементов результатов поиска, я получаю «Аргумент вне допустимого диапазона. \nИмя параметра: индекс» в строке 463 в DialogViewController. .cs (элемент var = section.Elements [indexPath.Row];).
public class SearchView : DialogViewController
{
IFlickService _flickService;
static IEnumerable<Flick> _flicks;
public SearchView(IFlickService flickService) : base (UITableViewStyle.Grouped, null, true)
{
_flickService = flickService;
_flicks = new List<Flick>();
CreateUI();
}
public override void SearchButtonClicked (string text)
{
base.SearchButtonClicked (text);
_flicks = _flickService.Search(text);
CreateUI();
}
void CreateUI()
{
EnableSearch = true;
Root = new RootElement("Search For Flicks") {
new Section(){
from f in _flicks
select (Element) new FlickElement(f, delegate {
NavigationController.PushViewController(new FlickDetailView(_flickService, f), true);
})
}
};
}
}