У меня есть форма, где пользователь вводит данные о новом элементе инвентаря (идентификатор, заголовок, цена, дата и т. Д.).Введенные данные сохраняются в коллекцию, а затем снова отображаются в виде списка.
Я получаю «Указанное приведение неверно», указывающее на «key = (int) lvwInventory.SelectedItems [0];»при попытке извлечь выбранное значение.Я пытаюсь получить идентификатор и использовать его, чтобы открыть окно редактирования для этого элемента.
Что я здесь не так делаю?
представление списка в вопросе
<ListView Height="249" HorizontalAlignment="Left" Margin="27,28,0,0" Name="lvwInventory" VerticalAlignment="Top" Width="384" ItemsSource="{Binding col}">
<ListView.View>
<GridView>
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Type}" />
<GridViewColumn Header="Title" DisplayMemberBinding="{Binding Title}" />
<GridViewColumn Header="Price" DisplayMemberBinding="{Binding Price}" />
<GridViewColumn Header="Date Added" DisplayMemberBinding="{Binding Date}" />
</GridView>
</ListView.View>
</ListView>
Класс stockobject
public class StockObject
{
// create stock object properties
public int ID { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
public double Price { get; set; }
public char Type { get; set; }
Событие, которое пытается получить значение из выбранного элемента
private void btnViewItem_Click(object sender, RoutedEventArgs e)
{
int key;
if (lvwInventory.SelectedIndex == -1) return;
key = (int)lvwInventory.SelectedItems[0];
StockObject s = col[key];
bookDialog.View(s);
}