2011-08-30 132 views
1

我想在任何屬性的顯示屬性中動態地給名稱屬性。如何動態設置名稱屬性在Silverlight中的顯示屬性4

的考試:

[Display(Name = "Test")] 
    public bool Task1 
    { 
     get { return this.m_Task1; } 
     set 
     { 
      if (value != this.m_Task1) 
      { 
       this.m_Task1 = value; 
       NotifyPropertyChanged("TaskName"); 
      } 
     } 
    } 

在財產我想給name屬性動態的意思是「試驗」和值將來自於數據庫。 那麼如何在生成屬性時在顯示屬性中動態顯示名稱屬性? 任何人都可以幫助我找出解決方案嗎?

+0

您要爲類的所有實例修改顯示的名字嗎? – AnthonyWJones

+0

是的,我的實體類的所有屬性。 –

回答

5

試試這個:

[Display(Name = "Tu edad")] 
public int Edad 
{ 
    get { bla, bla...; } 
    set { bla, bla...; } 
} 

public void ChangeEdad() 
{ 
    var TheProperty = 
    this.GetType().GetProperties().Where(x => x.Name == "Edad").FirstOrDefault(); 

    object TheAttribute = 
    TheProperty.GetCustomAttributes(typeof(DisplayAttribute), false)[0]; 

    DisplayAttribute DA = TheAttribute as DisplayAttribute; 
    DA.Name = "Your Age"; 
}