Ошибка SelectedItem средства выбора Xamarin. Указанное приведение недопустимо. - PullRequest
1 голос
/ 01 августа 2020

У меня есть средство выбора, уже настроенное с привязками, но когда я пытаюсь скопировать значение selecteditem в переменную, но выдает ошибку «System.InvalidCastException: 'Указанное приведение недопустимо». Информация, содержащаяся в выбранном элемент на самом деле правильный, это мой код:

IDPisteroMainPage = Convert.ToInt32(pck_Pisteros.SelectedItem);

также пробовал это (тоже не сработало, возникла другая ошибка):

IDPisteroMainPage = Convert.ToInt32(pck_Pisteros.SelectedItem as Pisteros);

Pisteros - используемая модель .

Ошибка:

ошибка

Также у меня есть привязка для того же объекта в SelectedIndex, но этот по-прежнему возвращает индекс, а не PisteroID, который мне нужен, но если я использую следующее:

IDPisteroMainPage = Convert.ToInt32(pck_Pisteros.SelectedIndex);

значение копируется в переменную без проблем

1 Ответ

2 голосов
/ 01 августа 2020

Трудно сказать, что вы действительно хотите или какие типы. Однако, возможно, вы ищете.

IDPisteroMainPage = Convert.ToInt32(((Pisteros)pck_Pisteros.SelectedItem).PisteroId);

// or slightly more fault tolerant if you expect a null 
if(pck_Pisteros.SelectedItem is Pisteros pisteros)
   IDPisteroMainPage = pisteros.PisteroId;
else
   // handle null (if need be)
   

// or if PisteroId is an int and SelectedItem is never null
IDPisteroMainPage = ((Pisteros)pck_Pisteros.SelectedItem).PisteroId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...