Связывание со списком в форме данных с MVVM, не запускающим PropertyChanged - PullRequest
1 голос
/ 01 мая 2011

У меня есть форма данных, привязанная к объекту ObservableCollection<Model.Parameters> Parameters в моей модели представления.В моем editTemplate левый столбец привязан к свойствам в объекте Parameters.Правый столбец - это серия ComboBox.Привязка для каждого настроена следующим образом:

<toolkit:DataField>
    <telerik:RadComboBox
    ItemsSource="{Binding DataSource.Accounts, Source={StaticResource DataContextProxy}}"   
    SelectedValue="{Binding HWIPInstall, Mode=TwoWay}"
    Width="150"
    Margin="0 0 20 0">
    </telerik:RadComboBox>
</toolkit:DataField>

Как вы можете видеть, я связываю ItemsSource с ObservableCollection, называемой Accounts, которая представляет собой просто список учетных записей, загружаемых в моей виртуальной машине.Затем SelectedValue привязывается (в данном случае) к свойству HWIPInstall моего объекта Parameters.Когда я переключаюсь между моим ReadOnlyTemplate (который представляет собой серию только текстовых полей [без комбо], привязанных непосредственно к моему объекту параметров) и моим EditTemplate, комбинированные списки правильно отображают список учетных записей.SelectedValue также установлен правильно.Однако, когда я изменяю комбинированный список, он не запускает INotify, потому что моя кнопка «ОК» на моей форме данных не изменяется.Однако, если я изменяю текстовое поле, загорается кнопка «ОК», и вызывается мой метод SaveParameters.

Примечание к вышесказанному.Если я установлю точку останова в своем методе SaveParameters, то увижу, что мой объект Parameters обновил как изменения текстового поля, так и изменения комбинированного списка, поэтому я знаю, что мой объект Parameters обновляется при изменении комбинированного списка, но ни одно из этих изменений не вызывает iNotify.

Ваши мысли?

1 Ответ

0 голосов
/ 02 мая 2011

Ух ты! Я использовал автоматические свойства на моей модели. Моя ViewModel реализует INotify, но моя Модель не была.

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