WPF DataGrid: как привязать к пользовательскому свойству - PullRequest
0 голосов
/ 07 февраля 2011

У меня есть класс Customer, сгенерированный из LINQ.Этот класс используется во многих местах.Я могу связать коллекцию клиентов с сеткой данных (WPF).Я хотел бы добавить дополнительный столбец в DataGrid.Данные столбца будут зависеть от того, как используется класс Customer.Вот варианты, которые я попробовал:

  1. Добавьте дополнительное свойство в класс Customer.Это работает, но свойство здесь не принадлежит, поскольку оно может зависеть от того, как используется класс.
  2. Создайте другой класс, производный от Customer.Это не работает, так как мы не можем привести Customer к производному классу, и список клиентов - это то, что я получаю из базы данных.
  3. Создайте другой класс, который содержит Customer и переопределяет все соответствующие свойства.Это ужасно.
  4. Создать метод расширения для желаемого свойства.К сожалению, мы не можем привязать столбец DataGrid к методу расширения.

На данный момент эти опции либо не работают, либо не идеальны.Буду признателен за любое предложение.

1 Ответ

0 голосов
/ 07 февраля 2011

Это звучит как работа модели представления, поэтому я бы предпочел вариант 3 и создать CustomerViewModel, который оборачивает вашу модель Customer и добавляет дополнительное свойство, которое вам требуется.Я предполагаю, что это дополнительное свойство только для отображения, поэтому вы не хотите добавлять его в модель Customer.

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