У меня есть несколько случаев, когда у меня есть свойство, которое я хочу объявить только для чтения, но я также дам некоторое объяснение того, как оно рассчитывается / устанавливается с помощью атрибута [Display (Description = "")]. Я хотел бы сделать это в метаданных, если это возможно, а не переопределять в самой форме данных.
Вот пример:
[Display(Description = "Total number of travel hours, calculated as total hrs worked - actual working hrs this month")]
public decimal TravelHours
{
get
{
return this.TotalHrsWorked - this.ActualWorkedHours;
}
}
При этом описание не будет отображаться как DescriptionViewer, когда я привязываюсь к этому свойству в DataForm и DataField.
Похоже, что когда я устанавливаю атрибут [ReadOnly], он скрывает DescriptionViewer, и даже установка DescriptionViewerVisibility = Visible в форме данных xaml по-прежнему не меняет его. Кроме того, для любых вычисляемых свойств (без установщика) этот атрибут применяется по умолчанию. Это немного раздражает, потому что это те, для которых я действительно хочу показать программу просмотра описаний.
Единственный способ обойти это, что я нашел до сих пор, - сделать свойство не только для чтения и добавить фиктивный установщик (для вычисляемых свойств). Это похоже на кладж.
Есть ли способ показать форму данных / средство просмотра описания поля данных в свойствах, доступных только для чтения?