Question

Im la recherche de la meilleure pratique (ou toute autre solution de travail) pour le scénario suivant:

J'ai une classe Employee:

public class Employee
{
    public string DisplayName
    { get; set; }

    // It is important that this method has a parameter
    public string GetSomething(string param)
    { return param + DisplayName; }
}

I ai un objet de type List<Employee> qui est lié à une zone de liste déroulante en XAML.

Le DisplayName pour chaque employé montre correctement dans la zone de liste déroulante, mais comment puis-je montrer la valeur de retour de la méthode GetSomething avec un paramètre précis pour tous les employés pour chaque employé au lieu du DisplayName?

La liaison à une méthode est OK, mais comment puis-je lier à plusieurs instances (pour chaque objet employé dans la liste)? Avec le ObjectDataProvider je ne peux lier à une instance exacte (ou une classe ), et non chaque objet employé de la liste des employés.

Était-ce utile?

La solution

Epargnez-vous quelques problèmes: utiliser un modèle de vue et de créer une propriété séparée qui retourne la valeur que vous voulez pour chaque employé. Pour donner une réponse plus détaillée, je dois savoir où le paramètre vient.

Autres conseils

Je suis d'accord avec @Kent Boogaart que l'utilisation d'un modèle de vue est certainement la manière souhaitée d'aller (ainsi qu'une meilleure pratique).

Une autre possibilité que je l'ai utilisé avant (avant que je sache plus sur Model-View-ViewModel) est d'utiliser un BindingConverter . Liez soit à votre classe d'employés ou à la propriété DisplayName et passer dans le paramètre comme paramètre au convertisseur de liaison.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top