Silverlight / WPF Список привязок «многие ко многим» - PullRequest
1 голос
/ 21 апреля 2009

У меня есть модель сущностей со многими отношениями. Для простоты, давайте предположим, что это сущность автомобиля и особенность (cd player, moonroof и т. Д.).

У меня есть форма Silverlight / WPF, в которой вы редактируете автомобильный объект. Я хотел бы, чтобы список возможных функций (все в таблице функций) был списком флажков. Эта часть проста. Однако я пытаюсь придумать элегантный способ привязки флажков, чтобы при снятии флажка с одного из них он добавлял / удалял связь между этой функцией и автомобилем.

Я знаю, что это легко можно сделать с помощью старых добрых обработчиков событий в стиле WinForms, но я хотел бы знать, есть ли у кого-нибудь способ сделать это, используя привязку данных, чтобы я мог сохранять свою презентацию и свою логику раздельными 1005 *

1 Ответ

1 голос
/ 21 апреля 2009

Вы смотрели шаблон представления MVVM ?

Я бы предложил создать класс ViewModel для привязки. Этот класс может содержать свойства, такие как HasSunroof для флажков, к которым нужно привязать. В заданных методах этих свойств они могут изменять связанное свойство (например, свойство Sunroof).

Альтернативой может быть использование IValueConverter. Привязать к фактической собственности (скажем, Sunroof). В конвертере верните true (проверено), если значение Sunroof не равно нулю, в противном случае верните false. Функция ConvertBack () может превратить случай, когда IsChecked равен true, в необходимый объект для свойства.

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