Je souhaite accéder à un scrollviewer à partir d'un autre thread. S'il vous plaît dites-moi comment faire pour le détacher du fil principal afin que je puisse changer les décalages du scrollviewer. MerciWPF scrollviewer - Accès à l'aide de plusieurs threads
Répondre
Vous pouvez mieux rechercher SO pour des questions connexes.
Quoi qu'il en soit, la réponse est ici.
if (myScrollviewer.InvokeRequired)
{
myScrollviewer.BeginInvoke(new MethodInvoker(delegate { //access your myScrollviewer here }));
}
ou vous pouvez y parvenir en utilisant répartiteur
Dispatcher UIDispatcher = Dispatcher.CurrentDispatcher; // Use this code in the UI thread
et accéder à votre myScrollviewer en utilisant l'objet UIDispatcher créé
UIDispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
// access your myScrollviewer here
}));
Les interfaces utilisateur de WPF ont une "affinité de thread" - seul le thread qui crée l'interface utilisateur peut le mettre à jour.
Pour le scénario ci-dessus, vous devez mettre en cache l'objet Dispatcher (Dispatcher.CurrentDispatcher) lorsque l'interface utilisateur est créée. Les autres threads doivent déléguer leurs blocs de code à cet objet via un appel Invoke/BeginInvoke. Voir this link
Les contrôles ne peuvent être mis à jour qu'à partir du thread qui les a créés. Regardez dans la classe BackgroundWorker
si vous devez exécuter une opération qui prend du temps dans un autre thread.
Une autre façon de côté d'utiliser le répartiteur est d'utiliser de liaison de données. Vous pouvez lier les propriétés de dépendance comme HorizontalOffset à une propriété d'un objet auquel vous pouvez accéder facilement dans un thread différent
- 1. WPF ScrollViewer
- 2. wpf scrollviewer scrolltoverticaloffset
- 3. Scrollviewer Problème wpf
- 4. Wpf Réglage ScrollViewer de TreeView
- 5. WPF Supprimer ScrollViewer de TreeView
- 6. Listbox et scrollviewer wpf
- 7. WPF Animation sur scrollviewer enfants clippés par scrollviewer
- 8. C# WPF - Défauts ScrollViewer + TextBlock
- 9. WPF: TextBox redimensionne l'intérieur ScrollViewer
- 10. WPF ScrollViewer dans d'autres contrôles
- 11. WPF ScrollViewer Redimensionner problème de décalage
- 12. Accès à tous les threads à partir de QApplication
- 13. Aide avec image et ScrollViewer - WPF
- 14. Appels COM à partir de plusieurs threads
- 15. Référence WPF ScrollContentPresenter du modèle ScrollViewer
- 16. structure de données laide à la recherche java
- 17. Accès à un état de connexion série dans deux threads
- 18. Définition de l'étendue de défilement de ScrollViewer dans wpf
- 19. Plusieurs threads et mémoire
- 20. Socket dans plusieurs threads
- 21. Créer plusieurs threads Java à la fois
- 22. Tri avec plusieurs threads
- 23. Barre de défilement horizontale pour WPF ScrollViewer jamais affichée
- 24. Plusieurs threads dans l'iphone
- 25. C# Exécution de IronPython sur plusieurs threads
- 26. WPF ScrollViewer - Aligner la barre de défilement horizontale en haut?
- 27. C# socket asynchrone accédé par plusieurs threads
- 28. 19 Threads pour l'application WPF
- 29. Problème de performances avec plusieurs ItemsControl dans un ScrollViewer
- 30. Appel de Console.WriteLine à partir de plusieurs threads
Résolu à l'aide de Dispatcher – user279244