Silverlight: установка свойства напрямую удаляет привязку данных? - PullRequest
3 голосов
/ 07 мая 2011

Я изменяю проект Silverlight, который интенсивно использует код для настройки свойств и тому подобное. Он был создан несколько лет назад и был более или менее перенесен из проекта WinForms.

Проблема, которую я заметил, заключается в том, что, когда я устанавливаю привязку данных для свойства, в данном случае - Visibility, если это свойство устанавливается непосредственно в коде позади, тогда привязка данных удаляется. Я даже установил точки останова для события PropertyChanged, чтобы убедиться, что это так.

Я немного поработал над WPF и никогда этого не замечал. Это нормально, и я это пропустил или что-то не так?

1 Ответ

7 голосов
/ 07 мая 2011

Мне кажется вполне нормальным.

Концепция привязки заключается в том, что значение целевого свойства связано со свойством исходного объекта.При этом свойство target всегда будет отражать значение свойства источника.Как только вы присваиваете собственное значение целевому свойству, целевое свойство больше не отражает значение из источника, вы нарушаете связь между ними.Следовательно, установка собственного значения удаляет привязку.

Однако если вы установите Mode привязки на TwoWay, то Silverlight просто назначит новое значение свойству исходного объекта и сохранит привязку, посколькуСвойство target по-прежнему отражает значение свойства source.

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