我有我的项目中以下类,EF5 + ListView和实体
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。不过,我可以得到选定的项目。如果我能得到那些检查过的物品,那对我来说会很高兴。
这是我的ListView
<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>
XAML我想应该是我的问题的解决方案。
我的WPF是一个小rusty-可以为您提供请为ListView提供XAML代码。 – 2013-02-10 19:41:37
如何绑定ListView中的项目?也许你应该发布你的XAML来跟随你的榜样。尽管如此,我的答案解决了你当前的铸造问题。 – blins 2013-02-10 20:15:31