我有我的項目中以下類,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