Files
Shrlalgo.RvKits/MelskinTest/DataModel/DataGridItem.cs
2026-02-17 22:17:13 +08:00

90 lines
2.2 KiB
C#

using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows.Documents;
using System.Windows.Input;
using CommunityToolkit.Mvvm.Input;
namespace VibeWPFTest.DataModel
{
public enum Gender
{
Male,
Female,
Other
}
public class DataGridItem
{
public int Id { get; set; }
public string Name { get; set; } = "";
public int Age { get; set; }
public bool Mark { get; set; }
public Gender Gender { get; set; }
}
public class DataGridDemo
{
public DataGridDemo()
{
ShowSelectedItemsCommand = new RelayCommand(() =>
{
if (SelectedDataGridItems != null && SelectedDataGridItems.Count > 0)
{
string names = string.Join(", ", SelectedDataGridItems.ConvertAll(item => item.Name));
System.Windows.MessageBox.Show($"选中项: {names}");
}
else
{
System.Windows.MessageBox.Show("未选择项");
}
});
}
public ICommand ShowSelectedItemsCommand { get; }
public List<DataGridItem> SelectedDataGridItems { get; set; } = new List<DataGridItem>();
public DataGridItem SelectedDataGridItem { get; set; }
public ObservableCollection<DataGridItem> DataCollection { get; set; } =
[
new DataGridItem
{
Id = 0,
Name = "Symin",
Age = 24,
Mark = true,
Gender = Gender.Other,
},
new DataGridItem
{
Id = 1,
Name = "Mike",
Age = 23,
Mark = false,
Gender = Gender.Male,
},
new DataGridItem
{
Id = 2,
Name = "Alice",
Age = 25,
Mark = true,
Gender = Gender.Female,
},
new DataGridItem
{
Id = 3,
Name = "Bob",
Age = 18,
Mark = true,
Gender = Gender.Male,
}
];
}
}