Привязка данных к свойствам объекта прерывается при установке значения null для объекта в Silverlight - PullRequest
0 голосов
/ 15 февраля 2011

Пример псевдокода:

<UserControl>
   <ComboBox SelectedValuePath="Id" SelectedValue="{Binding CurrentObject.Id, Mode=TwoWay}" ItemSource="{Binding Groups}"/>
   <ComboBox SelectedValuePath="Name" SelectedValue="{Binding CurrentObject.Status, Mode=TwoWay}" ItemSource="{Binding Statuses}"/>
</UserControl>

Я передаю объект типа <MyObject> этому пользовательскому контролю, изменяю его и сохраняю.После этого я сбрасываю состояние с CurrentObject = null.На втором проходе эти списки не имеют выбранных значений, хотя есть фактические данные.Как я могу это исправить?

1 Ответ

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

Вы всегда должны устанавливать источник данных для привязки данных к какому-либо объекту, иначе привязка данных не будет работать. Привязка к нулю никогда не будет работать.
Не устанавливайте currenttobject равным нулю, но, возможно, установите CurrentObject.Id в 0 и сбросьте его до окончательного значения, как только вы узнаете (например, на втором проходе). Когда ваш объект реализует INotifyPropertyChanged, значения в пользовательском интерфейсе будут обновлены.

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