#silverlight #mvvm #telerik #observablecollection #telerik-scheduler
#silverlight #mvvm #telerik #наблюдаемая коллекция #telerik-scheduler
Вопрос:
я обрабатываю CollectionChanged для Appointments ObservableCollection в моей ViewModel, чтобы отслеживать вновь добавленные встречи и любые изменения в встречах в пользовательском интерфейсе. но я обнаружил, что событие CollectionChanged срабатывает только тогда, когда пользователь дважды щелкает ScheduleView и появляется окно добавления новой встречи (но перед вводом какой-либо информации.) поэтому в обработчике CollectionChanged я получил пустой объект назначения.
какие-нибудь идеи, пожалуйста??
Комментарии:
1. Что происходит, когда вы заполняете назначение, а затем пытаетесь сохранить его?
Ответ №1:
ObservableCollection
реализует INotifyCollectionChanged
интерфейс, который должен уведомлять вас при изменении коллекции, а не при изменении свойства элемента в коллекции.
Я никогда не использовал ScheduleView Telerik, но я предполагаю, что «когда вы добавляете новую встречу», вы получаете правильный объект в событии. Итак, у вас есть ссылка на новый объект назначения, он просто пустой. Потому что он должен быть пустым (пока ничего не введено в пользовательский интерфейс, ничего не записано обратно в объект).
Но поскольку у вас есть ссылка на тот же объект, когда элемент управления Telerik обновляет этот объект назначения, ваш объект будет таким же (с правильной информацией).
Возможно, есть другое событие или команда Telerik для сохранения этой встречи, но вы должны быть в порядке с полученным, потому что я уверен, что telerik будет использовать этот объект для «заполнения» встречи.
Комментарии:
1. Спасибо, сэр, это было очень полезно, я получил ссылку на пустой объект и использовал событие PropertyChanged, чтобы узнать, когда он будет готов