Я только что объяснил то же самое в вашем другом вопросе .
Насколько я вижу из вашего кода, SelectedItem
кажется проблемой. Поскольку ItemsSource
(свойство TestList) вашего Picker
имеет тип List<Performance>
, свойство SelectedItem
, связанное с Picker
, должно иметь тип Performance
. Но в вашем случае вы сохранили его как string
вместо Performance
.
ItemDisplayBinding
должно быть именем любого свойства внутри вашего Performance
объекта, что в вашем случае хорошо, так как у вас есть строковое свойство с именем ShortDesc
внутри вашего Performance
класса.
Это проблема, которую я вижу в вашем коде. Измените тип свойства ShortDesc
, как показано ниже, и присвойте ему один из элементов вашей коллекции TestList
. Ваш код начнет работать нормально.
private Performance _shortDesc;
public Performance ShortDesc
{
get { return _shortDesc; }
set
{
{
_shortDesc = value;
NotifyPropertyChanged();
}
}
}
См. Документацию здесь , которая объясняет наглядный пример привязки объектов к сборщику.
Надеюсь, это поможет.