Nous étudions comment créer des vues de saisie de données à partir d'une liste dynamique de définitions de champs prédéfinies. Par "prédéfini", je veux dire qu'il n'y a que 8 types de champs de base. Le contrôle DataForm de Silverlight Toolkit est presque ce que vous voulez, mais il cible l'objet propriétés (pas une liste de définitions personnalisées).Formulaires de saisie de données dynamiques dans Silverlight
Existe-t-il un projet existant pour faciliter cette tâche? S'il vous plaît commenter mon idée de conception (ci-dessous). J'ai seulement ~ 2 semaines d'expérience Silverlight.
idée de conception de base:
Je pense à la définition des types de champs de données personnalisés. Un IEnumerable<BaseDataField>
sera reçu par l'interface utilisateur, énuméré, et les contrôles seront créés en fonction du type de chaque champ. Chaque champ crée une étiquette avec la description et BooleanDataField
va créer un CheckBox, LookupDataField
va créer une zone de liste déroulante, etc.
Pseudo code pour clarifier l'idée:
public abstract class BaseDataField {
public string FieldCode { get; private set; }
public string FieldDescription { get { return FieldDefinitions.Instance.FieldDescription(FieldCode); } }
...
}
public class StringDataField : BaseDataField
public class BooleanDataField : BaseDataField
public class CurrencyDataField : BaseDataField
public class IntegerDataField : BaseDataField
public class NumericDataField : BaseDataField
public class DateTimeDataField : BaseDataField
public class LookupDataField : BaseDataField
public class SpecialDataField : BaseDataField
Ce sera étendu pour rendre les champs liable; permet de spécifier des contrôles personnalisés pour chaque type; et avoir des commentaires de validation. Peut-on le faire facilement dans Silverlight ou devrions-nous créer un contrôle personnalisé?
Remarque: Ce programme sera une interface utilisateur Web pour une plate-forme LOB existante à plusieurs niveaux. Toutes les données sont sérialisées à partir d'un service REST basé sur JSON.
Merci!
Vous dites que vous avez seulement 2 semaines d'expérience Silverlight, mais combien d'expérience .NET avez-vous? Il a tendance à bien se traduire. Je suggère d'ajouter 'abstract public Type FieldType {get; } '' BaseDataField', puisque c'est probablement une information utile à avoir. –
J'ai 2-3 ans d'expérience .NET 2.0 et un MCPD. XAML, les contrôles Silverlight et les modèles de liaison sont très nouveaux pour moi.Merci pour la suggestion. – carlmon