Привязка WPF к методу элемента коллекции
-
19-09-2019 - |
Вопрос
Я ищу наилучшую практику (или любое рабочее решение) для следующего сценария:
У меня есть 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.
Отображаемое имя для каждого сотрудника корректно отображается в выпадающем списке, но как я могу показать возвращаемое значение метода getSomething с точным параметром для всех сотрудников для каждого сотрудника вместо имени дисплея?
Привязка к методу - это нормально, но как я могу привязаться к нескольким экземплярам (для каждого объекта employee в списке)? С помощью ObjectDataProvider
Я могу привязаться только к одному конкретному экземпляру (или классу), а не к каждому объекту employee из списка employee.
Решение
Избавь себя от лишних хлопот:используйте модель представления и создайте отдельное свойство, которое возвращает нужное значение для каждого сотрудника.Чтобы дать более подробный ответ, мне нужно знать, откуда берется этот параметр.
Другие советы
Я согласен с @Kent Boogaart в том, что использование модели представления - определенно желаемый путь (а также лучшая практика).
Другая возможность, которую я использовал раньше (до того, как я узнал больше о Model-View-ViewModel), заключается в использовании Связующий преобразователь.Привяжитесь либо к вашему классу Employee, либо к свойству DisplayName и передайте параметр в качестве параметра преобразователю привязки.