WPF设计标准学习记录18

	public class MainViewModel : ObservableObject
{
    private List persons = new List();
    public List Persons
    {
        get { return persons; }
        set { persons = value;RaisePropertyChanged(); }
    }
 
    private Person person;
    public Person Person
    {
        get { return person; }
        set { person = value; RaisePropertyChanged(); }
    }
    public MainViewModel()
    {
        person = new Person()
        {
            Name = "Michael Jackson",
            Occupation = "Musicians",
            Age = 25,
            Money = 9999999,
            Address = "深圳市光明区智慧招商城B4栋5楼"
        };
 
        var bill = new Person()
        {
            Name = "比尔·盖茨(Bill Gates)",
            Occupation = "微软公司创始人",
            Age = 61,
            Money = 9999999,
            Address = "美国华盛顿州西雅图"
        };
 
        var musk = new Person()
        {
            Name = "Elon Reeve Musk",
            Occupation = "首席执行官",
            Age = 50,
            Money = 365214580,
            Address = "出生于南非的行政首都比勒陀利亚"
        };
 
        var jeff = new Person()
        {
            Name = "杰夫·贝索斯(Jeff Bezos)",
            Occupation = "董事会执行主席",
            Age = 25,
            Money = 85745845,
            Address = "杰夫·贝索斯出生于美国新墨西哥州阿尔布奎克。"
        };
 
        persons.Add(person);
        persons.Add(bill);
        persons.Add(musk);
        persons.Add(jeff);
    }
}

扩展优化方案(基于.NET 9企业开发框架):

  1. 响应式数据改造
// 使用CommunityToolkit.Mvvm的ObservableProperty 
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(AgeGroup))]
private Person? _currentPerson;
  1. 全球化数据处理
Name = LocalizationService.GetString(
    key: "Person.DefaultName", 
    fallback: "Michael Jackson"
);
  1. 数据验证层
public class Person : ValidatableModel 
{
    [Range(18, 100, ErrorMessage = "AGE_VALIDATION_ERROR")]
    public int Age { get; set; }
    
    [Required(ErrorMessage = "OCCUPATION_REQUIRED")]
    [MaxLength(50)]
    public string Occupation { get; set; }
}


    
        
            
                
                    
                        
                            
                                
                                
                            
                            
                                
                                
                                
                            
                            
                                
                                
                                    
                                    
                                        
                                    
                                    
                                        
                                    
                                    
                                        
                                    
                                
                            
                        
                    
                    
                        

你可能感兴趣的:(wpf,学习)