У меня есть пользовательский вид, который я пытаюсь передать как List<T>
. По какой-то причине при попытке загрузить страницу приложение выдает System.ArrayTypeMismatchException
.
Вот класс:
public class DiaryCalendarCustomView : View
{
MiscFunctions misctools = new MiscFunctions();
private List<DiaryNextContactEventModel> _eventList = new List<DiaryNextContactEventModel>();
public List<DiaryNextContactEventModel> EventList
{
get { return _eventList; }
set { _eventList = value; }
}
public void SetSelectedDate (DateTime selectedDate)
{
SelectedDate = selectedDate;
Settings.Current.NextContactContactDate = selectedDate.ToLocalTime();
}
public DateTime SelectedDate { get; set; }
public DiaryCalendarCustomView()
{
}
}
Просмотр модели:
private List<DiaryNextContactEventModel> _eventList = new List<DiaryNextContactEventModel>();
public List<DiaryNextContactEventModel> EventList
{
get { return _eventList; }
set { SetProperty(ref _eventList, value); }
}
Когда я добавляю статические данные в объект EventList, он работает нормально, а когда я удаляю Binding из представления XAML, он также работает. Таким образом, проблема заключается в том, что xamarin пытается преобразовать мой список в другой тип перечислимых, и именно здесь он терпит неудачу.
XAML:
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Grid.Children>
<partials:DiaryCalendarCustomView EventList="{Binding EventList}"/>
</Grid.Children>
</Grid>
Отладка и поиск не дали ничего полезного. Любая помощь будет оценена.