我有几种情况,我有一个我想声明为只读的属性,但也解释了如何使用 [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;
}
}
当我绑定到 DataForm 和 DataField 中的此属性时,这不会将描述显示为DescriptionViewer 。
似乎当我设置 [ReadOnly] 属性时它隐藏了 DescriptionViewer,甚至在数据表单 xaml 中设置 DescriptionViewerVisibility=Visible 仍然没有改变它。此外,任何计算属性(无设置器)似乎默认强制执行此属性。这有点烦人,因为这些是我真正想要展示 descriptionviewer 的。
到目前为止,我发现的唯一解决方法是使属性不是只读的并添加一个虚拟设置器(用于计算的属性)。这似乎是一个杂牌。
有没有办法在只读属性上显示数据表单/数据字段描述查看器?