Для чего вы должны использовать IValueConverter? - PullRequest
0 голосов
/ 24 июня 2010

Каковы рекомендуемые применения IValueConverter? Я использовал его для таких вещей, как преобразование логического свойства в свойство Visibility, но мне интересно, как далеко вы должны его взять? Предполагается, что он используется только для изменения представлений общих типов на определенные типы пользовательского интерфейса (например, bool to Visibility).

Например, если у меня есть свойство в моем классе, EmployeeID, например:

public class EmployeeViewModel : INotifyPropertyChanged
{
  public int? EmployeeID
  {
    get
    {
      return employeeID;
    }
    set
    {
      employeeID = value;
      RaisePropertyChanged("EmployeeID");
    }
  }
}

и я хочу отобразить сведения об этом сотруднике, например, Имя, местоположение, но чтобы получить их, мне нужно было бы попасть в базу данных, было бы неправильно помещать это в конвертер значений? Будет ли лучше хранить значения в ViewModel и связывать их?

1 Ответ

2 голосов
/ 24 июня 2010

Вероятно, было бы лучше поместить значения в ViewModel и выполнить прямые привязки. Хотя вы можете сделать это в ValueConverter, у вас есть очень ограниченная область действия в конвертере, и это может ограничить ваши возможности.

Мое общее правило для меня - стараться, чтобы все мои ValueConverters были простыми преобразованиями между двумя типами, то есть Bool to Visibility или Color to Brush. Таким образом, я не включаю много логики в ValueConverters и сохраняю все проще для обслуживания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...