You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.5 KiB

2 months ago
using ReactiveUI;
using System.Collections.ObjectModel;
namespace MyAvaloniaApp.ViewModels.Pages;
/// <summary>
/// 用户管理页面ViewModel
/// </summary>
public class UsersPageViewModel : ReactiveObject
{
private ObservableCollection<UserInfo> _users;
public UsersPageViewModel()
{
_users = new ObservableCollection<UserInfo>
{
new UserInfo { Id = 1, Name = "张三", Email = "zhangsan@example.com", Role = "管理员", Status = "在线" },
new UserInfo { Id = 2, Name = "李四", Email = "lisi@example.com", Role = "用户", Status = "离线" },
new UserInfo { Id = 3, Name = "王五", Email = "wangwu@example.com", Role = "编辑", Status = "在线" },
new UserInfo { Id = 4, Name = "赵六", Email = "zhaoliu@example.com", Role = "用户", Status = "在线" },
new UserInfo { Id = 5, Name = "钱七", Email = "qianqi@example.com", Role = "管理员", Status = "离线" }
};
}
/// <summary>
/// 用户列表
/// </summary>
public ObservableCollection<UserInfo> Users
{
get => _users;
set => this.RaiseAndSetIfChanged(ref _users, value);
}
}
/// <summary>
/// 用户信息模型
/// </summary>
public class UserInfo
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Email { get; set; } = string.Empty;
public string Role { get; set; } = string.Empty;
public string Status { get; set; } = string.Empty;
}