J'ai essentiellement le même problème discuté ici: http://khason.net/blog/dependency-property-getters-and-setters-in-multithreaded-environment/Comment obtenir une propriété de dépendance silverlight lorsqu'elle n'est pas dans le thread de l'interface utilisateur?
public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.RegisterAttached("MyProperty", typeof(bool),
typeof(MyObject), new PropertyMetadata(new PropertyChangedCallback(OnMyPropertyChanged)));
public static bool GetMyProperty(DependencyObject obj)
{
return (bool)obj.GetValue(MyPropertyProperty); <<<<<
}
public static void SetMyProperty(DependencyObject obj, bool value)
{
obj.SetValue(MyPropertyProperty, value);
}
Si la ligne marquée « < < < < < » est appelé à partir d'un fil de fond, Silverlight lève une InvalidOperationException et mon application va probablement une impasse.
Malheureusement, la solution du blog ne fonctionnera pas car la version Silverlight de la classe Dispatcher masque les méthodes Invoke synchronisées - seul BeginInvoke est marqué public.
A travaillé parfaitement, merci. –