【发布时间】:2010-11-09 20:49:53
【问题描述】:
我有一个表单,用户可以在其中输入有关新库存项目的数据(ID、标题、价格、日期等)。输入的数据会保存到集合中,然后在列表视图中重新显示。
我得到一个指向“key = (int)lvwInventory.SelectedItems[0];”的“Specified cast is not valid”尝试提取所选值时。我正在尝试获取 ID 并使用它打开该项目的编辑窗口。
我在这里做错了什么?
有问题的列表视图
<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>
库存对象类
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);
}
【问题讨论】: