Frage

Bin auf der Suche nach der besten Praxis (oder keine funktionierende Lösung) für das folgende Szenario:

Ich habe eine Employee Klasse:

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; }
}

Ich habe eine List<Employee> Art-Objekt, das an eine ComboBox in XAML.

Die Anzeigenamen für jede Mitarbeiterin und jeden Mitarbeiter richtig zeigt in der ComboBox, aber wie kann ich den Rückgabewert der Methode GetSomething mit einer genauen parameter für alle Mitarbeiter für jeden Mitarbeiter anstelle des Anzeigenamens?

Die Bindung an eine Methode ist OK, aber wie kann ich binden an mehrere Instanzen (für jeden Mitarbeiter-Objekt in der Liste)? Mit der ObjectDataProvider Ich kann nur binden, um eine genaue Instanz (oder eine Klasse), und nicht die einzelnen Mitarbeiter-Objekt von der Mitarbeiter-Liste.

War es hilfreich?

Lösung

Sparen Sie sich einige Mühe: ein View-Modell verwenden und eine separate Eigenschaft erstellen, dass die Renditen der Wert, den Sie für jeden Mitarbeiter möchten. Geben eine ausführlichere Antwort, muss ich wissen, wo der Parameter herkommt.

Andere Tipps

Ich Stimme mit @Kent Boogaart, dass mit einem view-Modell ist definitiv die gewünschten Weg zu gehen (wie auch der best-practice).

Eine andere Möglichkeit, die ich verwendet habe, bevor (bevor ich wusste, dass Sie mehr über Model-View-ViewModel) ist die Verwendung eines BindingConverter.Binden entweder an die Employee-Klasse oder die DisplayName-Eigenschaft, und übergeben Sie den parameter als parameter für das binding-Konverter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top