Domanda

Im alla ricerca della migliore prassi (o qualsiasi soluzione di lavoro) per il seguente scenario:

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

Ho un oggetto di tipo List<Employee> che è destinato a un controllo ComboBox in XAML.

Il DisplayName per ogni dipendente sta mostrando in modo corretto nella casella combinata, ma come posso mostrare il valore di ritorno del metodo GetSomething con un parametro esatto per tutti i dipendenti per ogni dipendente al posto del DisplayName?

Binding a un metodo è OK, ma come posso legarsi a più istanze (per ogni oggetto dipendente nella lista)? Con la ObjectDataProvider posso legare solo per un caso esatto (o di una classe ), non ogni oggetto dipendente della lista dei dipendenti.

È stato utile?

Soluzione

Salva te stesso qualche problema: utilizzare un modello di vista e creare una proprietà separata che restituisce il valore che si desidera per ogni dipendente. Per dare una risposta più dettagliata, ho bisogno di sapere dove il parametro viene.

Altri suggerimenti

Sono d'accordo con @Kent Boogaart che l'utilizzo di un modello di vista è sicuramente il modo desiderato di andare (così come una best practice).

Un'altra possibilità che ho usato prima (prima di sapere di più su Model-View-ViewModel) è quello di utilizzare un BindingConverter . Associare sia per la classe Dipendente o alla proprietà DisplayName e passare il parametro come parametro al convertitore vincolante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top