WPF Привязка к методу элемента коллекции - PullRequest
0 голосов
/ 25 августа 2009

Я ищу лучшую практику (или любое рабочее решение) для следующего сценария:

У меня есть 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; }
}

У меня есть объект типа List<Employee>, который связан с ComboBox в XAML.

DisplayName для каждого сотрудника правильно отображается в ComboBox, но как я могу показать возвращаемое значение метода GetSomething с точным параметром для всех сотрудников для каждого сотрудника вместо DisplayName?

Привязка к методу - это нормально, но как связать несколько экземпляров (для каждого объекта сотрудника в списке)? С помощью ObjectDataProvider я могу привязать только один точный экземпляр (или класс), а не каждый сотрудник объекта списка сотрудников.

Ответы [ 2 ]

2 голосов
/ 25 августа 2009

Избавьте себя от неприятностей: используйте модель представления и создайте отдельное свойство, которое возвращает значение, которое вы хотите для каждого сотрудника. Чтобы дать более подробный ответ, мне нужно знать, откуда берется этот параметр.

1 голос
/ 25 августа 2009

Я согласен с @Kent Boogaart, что использование модели представления, безусловно, является желаемым способом (а также лучшей практикой).

Другая возможность, которую я использовал ранее (до того, как узнал больше о Model-View-ViewModel), - это использование BindingConverter . Привязать либо к вашему классу Employee, либо к свойству DisplayName и передать параметр в качестве параметра в конвертер привязок.

...