我的项目中有以下课程,
public class Area
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public ObservableCollection<VisitDetail> VisitDetails { get; set; }
}
public class VisitDetail
{
[Key]
public int VisitId { get; set; }
[Required]
public int AreaId { get; set; }
public Area Area { get; set; }
}
用户希望使用以下方法将其访问区域保存为该日期。
我只想从中获取选定的区域以ListView
保存它们。当我试图让那些使用ListView.Items[index].IsSelected
它的人抛出一个错误说,
Unable to cast object of type 'Namespace.Area' to type 'System.Windows.Controls.ListViewItem'
请告诉我解决问题的确切方法。
编辑 1:
我的项目在 WPF 中。还要注意这一点,当加载访问详细信息窗口时,Area
实体集合绑定到ListView.ItemsSource
. (因为 WPF 没有任何ListView.CheckedItems
:(
)
编辑 2:
感谢@blins,您的解决方案有效。但我无法得到检查的项目。我在这里发布我的 xaml。但是我可以得到选定的项目。如果我能拿到那些托运的物品,我会很高兴。
这是我的 XAMLListView
<ListView Name="lvList" SelectionMode="Multiple" ClipToBounds="True" >
<ListView.View>
<GridView >
<GridViewColumn DisplayMemberBinding="{Binding Id}" />
<GridViewColumn Header="Area" >
<GridViewColumn.CellTemplate>
<DataTemplate >
<CheckBox x:Name="checkbox" Content="{Binding Name}" IsChecked="{Binding Path=IsSelected}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
我认为我的问题应该有一个解决方案。