2009-11-01 1 views
0

Я хочу изменить описание этикетки на моем SilverLight DataForm, которые в настоящее время показывают, как мои таблицы имен полей (dbEmailAddress).Silverlight DataForm с RIA (т.е. дисплей (Description = ....)]

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

     </dataFormToolkit:DataForm> 

Я знаю, что могу обойти это, добавив DataFields программно в xaml, но есть ли возможность добавить атрибуты в RIA-классе (в веб-приложении), чтобы он проходил фильтрацию, что-то вроде этого в файле метаданных домена ria.

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

-может ли это работать?

Также, если бы это было так, то был ли этот подход бесполезным, поскольку перекомпилировать файл метаданных службы службы ria означает, что я потеряю любые изменения с момента его создания?

Спасибо, джейсон

ответ

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. Рекомендуется разместить файл метаданных в той же папке, что и ваш DomainService.