WPF A ligação com o método de um elemento de recolha
-
19-09-2019 - |
Pergunta
Im procurando a melhor prática (ou qualquer solução de trabalho) para o seguinte cenário:
Eu tenho uma 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; }
}
Eu tenho um objeto tipo List<Employee>
que está ligado a uma caixa de combinação em XAML.
O DisplayName para cada funcionário está corretamente mostrando na caixa de combinação, mas como posso mostrar o valor de retorno do método GetSomething com um parâmetro exato para todos os funcionários para cada funcionário em vez do DisplayName?
vinculação a um método é OK, mas como eu posso se ligam a várias instâncias (para cada objeto empregado na lista)? Com a ObjectDataProvider
posso apenas se ligam a uma instância exata (ou uma classe ), não cada objeto empregado da lista de funcionários.
Solução
Salvar-se alguns problemas: usar um modelo de vista e criar uma propriedade separada que retorna o valor que deseja para cada funcionário. Para dar uma resposta mais detalhada, eu preciso saber onde o parâmetro vem.
Outras dicas
Eu concordo com @Kent Boogaart que o uso de um modelo de vista é definitivamente o caminho desejado para ir (bem como uma melhor prática).
Outra possibilidade que eu usei antes (antes que eu sabia mais sobre Model-View-ViewModel) é usar um BindingConverter . Bind quer para sua classe Employee ou para a propriedade DisplayName e passar o parâmetro como o parâmetro para o conversor de ligação.