2013-12-16 2 views
1

Получения Ошибки при Установите значение DefaultViewModel в методе асинхронного«Значение не входит в ожидаемый диапазон». Окно 8 ObservableDictionary Ошибка

async void SpotlightVideo_FadeIn_Completed(object sender, object e) 
    { 
     this.DefaultViewModel["SpotlightImageSource"] = (await ExtensionMethods.GetSingleImage(1, SpotlightVideo.Image)).Source; 
     Spotlight_Videos s = this.DefaultViewModel["SpotlightVideos"] as Spotlight_Videos; 
     //s.Discription = SpotlightVideo.Discription; 
     //s.Image = SpotlightVideo.Image; 
     //s.Video_Id = SpotlightVideo.Video_Id; 
     //s.Video_Name = SpotlightVideo.Video_Name; 
     //s.VideoPath = SpotlightVideo.VideoPath; 

     this.DefaultViewModel["SpotlightVideos"] = SpotlightVideo; 
     //s = SpotlightVideo; 

     SpotlightVideo_FadeOut.Begin(); 
    } 

первая строка в mehtod работает нормально DefaultViewModel["SpotlightImageSource"] но this.DefaultViewModel["SpotlightVideos"] = SpotlightVideo; дает мне ошибку:

«Value не подпадает под ожидаемый диапазон ».

, но когда я устанавливаю значения для индивидуальных свойств, он работает нормально, без ошибок.

Когда я передаю весь объект переменной s, он запускает wioth без ошибок, но не дал результата, как ожидалось.

Я debuged код и basicallty ошибка генерации из ObservableDictionary.cs

private void InvokeMapChanged(CollectionChange change, string key) 
    { 
     var eventHandler = MapChanged; 
     if (eventHandler != null) 
     { 
      eventHandler(this, new ObservableDictionaryChangedEventArgs(change, key)); 
     } 
    } 

Линия ошибка:

eventHandler(this, new ObservableDictionaryChangedEventArgs(change, key)); 

Пожалуйста, помогите мне.

ответ

0

Вопрос довольно старый, но я столкнулся с той же проблемой, и ответ мог помочь другим.

Это потому, что ваш объект this.DefaultViewModel["SpotlightVideos"] ожидает коллекцию, но вы даете ей один объект.

Я не вижу ваш XAML, но в моем случае пункт DefaultViewModel имел ссылку в CollectionViewSource в разделе <Page.Resources>.

Смежные вопросы