Cシャープの初心者なので、これはばかげた質問です。私は単純なクラスを持っています:
public enum SexType { Male, Female };
public class User
{
public string Name { get; set; }
public int Age { get; set; }
public string Mail { get; set; }
public SexType Sex { get; set; }
}
次に、このクラスを使用して、グループ化してリスト ビューを埋めます。
public Window4()
{
InitializeComponent();
List<User> items = new List<User>();
items.Add(new User() { Name = "John Doe", Age = 42, Sex = SexType.Male });
items.Add(new User() { Name = "Jane Doe", Age = 39, Sex = SexType.Female });
items.Add(new User() { Name = "Sammy Doe", Age = 13, Sex = SexType.Male });
lvUsers.ItemsSource = items;
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(lvUsers.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("Sex");
view.GroupDescriptions.Add(groupDescription);
}
今私ができるようにしたいのは、リストビューでグループが選択されたときに、個々のアイテムの値を取得できるようにすることだけです。したがって、リストビューで「John Doe」グループをクリックすると、年齢 (42) と名前 (John Doe) を取得できるようになります。そのため、リストビューの SelectedChanged メソッドに行きましたが、リストビューでレコードを選択すると、個々の値を取得できません。SelectedChange が発生してイミディエイト ウィンドウが開き、?listview.SelectedValue を見ると、次のようになります。私が試してみてください:?lvUsers.SelectedItems.Age; 「System.Collections.IList」には「Age」の定義が含まれておらず、拡張メソッド「Age」もありません
私が間違っていることを教えてください。ありがとうございました