私のプロジェクトには次のクラスがあります。
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 です。また、Visit Detailウィンドウが読み込まれると、Area
エンティティ コレクションはListView.ItemsSource
. (WPFのため、何もありませんListView.CheckedItems
:(
)
編集2:
ありがとう@blinsあなたのソリューションはうまくいきました。しかし、私はチェックされたアイテムを取得できません。ここに私のxamlを投稿しています。ただし、選択したアイテムを取得できます。それらのチェック項目を取得できれば、それは私にとって喜びです。
これは私の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>
私の問題には解決策があるはずだと思います。