2010-07-22 3 views
1

Voici une partie de mon DataFormDataform.EditTemplate Utiliser Afficher chaîne

<Grid x:Name="LayoutRoot" Background="White"> 
    <df:DataForm x:Name="df1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CurrentItem="{StaticResource descriptor}" CommandButtonsVisibility="All" AutoGenerateFields="False" > 
     <df:DataForm.EditTemplate> 
      <DataTemplate> 
       <StackPanel> 
          <df:DataField Label="Capital Cost" > 
         <TextBox Text="{Binding CapitalCost, Mode=TwoWay}" ></TextBox> 
        </df:DataField> 

plutôt que de spécifier explicitement le label « coût du capital », je voudrais utiliser les données d'affichage j'ai dans le type sous-jacent

public class Descriptor  
    { 
     [Display(Name = "Capital Cost:", Description = "The negotiated price of the car")] 
     public double CapitalCost 
     { 
      get 
      { 
       return _CapitalCost; 
      } 
      set 
      { 
       if (value > UsMsrp) 
        throw new ArgumentException("Capital Cost must be equal or less than US MSRP"); 
       _CapitalCost = value; 
      } 
     } 

la description est bien reporté à l'interface, mais je suis confus dans la mesure où le nom va

Merci!

Répondre

0

Vous devez définir un IValueConverter qui prend votre propriété en entrée et renvoie la valeur de DisplayAttribute. Here est un exemple qui fait quelque chose de similaire en utilisant le DisplayNameAttribute standard.

Questions connexes