带RIA的Silverlight DataForm控件(即Display(Description = ....)]

时间:2009-11-01 20:13:53

标签: .net silverlight dataform

我希望更改silverlight数据表上标签的描述,这些标签当前显示为我的表字段名(dbEmailAddress)。

<StackPanel Grid.Row="0" Grid.Column="1">
            <dataFormToolkit:DataForm x:Name="dataForm1"
                                      CurrentItem="{Binding SelectedItem, ElementName=dgLeagues}"
                                      Header="Product Details"
                                      >

        </dataFormToolkit:DataForm>

我知道我可以通过在xaml中以编程方式添加DataField来解决这个问题,但是在RIA类中添加属性(在Web应用程序中),以便在ria域元数据文件中进行过滤

[Display(Name = "Email Address:", 
Description="We do not sell your information!")]
public string EmailAddress { get; set; }

- 这会有用吗?

此外,如果它会,那么这种方法是无用的,因为重新编译ria域服务元数据文件意味着我会松开自生成以来的任何更改吗?

谢谢, 杰森

1 个答案:

答案 0 :(得分:0)

你所做的一切都很好。为避免每次重新编译时都重做,可以将其添加到元数据中。

[Display(Name = "Email Address:", 
         Description="We do not sell your information!")]
public string EmailAddress = null;

创建DomainService时,可以添加相关的元数据类 - 如果没有,可以手动轻松创建。元数据类旨在保存您描述的确切信息。

[MetadataType(typeof(CustomerMetadata))]
public partial class Customer 
{
    private static class CustomerMetadata 
    {
        [Required]
        [Display(Name = "Email Address:",
                 Description = "We do not sell your information!")]
        public string EmailAddress = null;
    }
}

请记住将元数据文件命名为customer.metadata.cs,或者调用您的类。它使用* .metadata.cs导入到postfix。将元数据文件放在与DomainService相同的文件夹中是个好主意。