2009-11-23 9 views
1

J'utilise Dataform pour afficher un objet dans mon application Silverlight. C'est une page d'entrée simple où vous pouvez entrer une valeur et le bouton SAVE en bas soumet l'information à la base de données.Dataform dans Silverlight 3

Mon objet contient 7 champs de données, dont je n'ai besoin que de montrer 5 d'entre eux. Les deux autres champs de données sont directement ajoutés dans la base de données.

Mon application silverlight communique avec la base de données via les services WCF. Donc, la question est de savoir si je peux filtrer les champs de données sur le formulaire de données?

+0

1 chose, ur meilleur pari i s pour faire un peu de googling et apprendre le modèle MVVM pour silverlight, utilisez http://www.codeplex.com/prism comme point de départ – Neil

Répondre

2

Si vous auto-génération de la DataForm, vous pouvez utiliser

[Display(AutoGenerateField=false)] 
public string SomeProperty {get;set;} 

Cet attribut a été précédemment appelé Bindable dans la version bêta SL3, et a depuis changé dans la version RTM. Plus d'infos here

+0

Neil, Voulez-vous dire que j'ajoute l'attribut ci-dessus à l'objet de la référence.cs? ? Comme, je vous ai dit que j'ajoute mon service WCF comme référence de service dans mon projet Silverlight. J'étais un peu hésitant à modifier le fichier reference.cs qui est généré automatiquement lorsque j'ajoute une référence de service. Est-ce la seule issue? – SVI

+0

non non, ok en supposant que ure suit l'architecture MVVM, peut-être en utilisant prism, donc dans votre viewmodel ajoutez-les comme attributs au-dessus de votre propriété, si vous ne suivez pas le pattern MVVM, alors vous liez directement au service WCF le reference.cs) – Neil

+0

je pense que vous devriez jeter un coup d'oeil à ce lien http://www.silverlightshow.net/items/Creating-Rich-Data-Forms-in-Silverlight-3-Customization.aspx – Neil

0

Suite est l'extrait du fichier XAML

dataFormToolkit: DataForm x: Name = "DataForm" CommitButtonContent = "Enregistrer" CancelButtonContent = "Annuler" AutoEdit = "true" AutoGenerateFields = "Faux"

l'extrait qui suit est de xaml.cs fichier

public CreateProduct() 
    { 
     InitializeComponent(); 
     this.Loaded += new RoutedEventHandler(CreateProduct_Loaded); 


    } 

    private void CreateProduct_Loaded(object sender, RoutedEventArgs e) 
    { 

     ServiceReference.Product model = new ServiceReference.Product(); 
     dataForm.CurrentItem = model; 
    } 
+0

si autogenerate est faux alors où est le DisplayTemplate? – Neil

Questions connexes