в применении Windows Phone в моем конструкторе ViewModel зарегистрироваться гонец, как это:исключения Thread при использовании сообщений
Messenger.Default.Register<MyType>
(
this,
(action) => ReceiveMessage(action)
);
Тогда в ReceiveMessage я пытаюсь поставить какой-то код, и он выходит из строя с
"The application called an interface that was marshalled for a different thread."
private void ReceiveMessage(MyType action)
{
this.MyCollection.Clear();
foreach (Student st in Students)
{
this.MyCollection.Add(st);
}
}
Я пытался делать это, и он приходит с тем же результатом:
Application.Current.Resources.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() => this.MyCollection.Clear());
Это все еще дает мне это исключение от звонка .. –
Что такое трассировка стека? Какой поток вы используете, когда вы вызываете метод «Register()»? Вы попробовали 'Application.Current.Dispatcher'? Или это недоступно в классе «Приложение» для телефона? –
Нет Диспетчера в текущем состоянии. Только в ресурсах .. –