我想从另一个线程访问scrollviewer。请告诉我如何从主线程中分离它,以便我可以更改滚动查看器的偏移量。 谢谢WPF scrollviewer - 使用多线程访问
1
A
回答
0
您可以更好地搜索SO的相关问题。
无论如何,答案就在这里。
if (myScrollviewer.InvokeRequired)
{
myScrollviewer.BeginInvoke(new MethodInvoker(delegate { //access your myScrollviewer here }));
}
,或者您可以使用UIDispatcher对象实现这一点使用调度
Dispatcher UIDispatcher = Dispatcher.CurrentDispatcher; // Use this code in the UI thread
,并访问您的myScrollviewer创建
UIDispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
// access your myScrollviewer here
}));
0
WPF UI具有“线程关联” - 只有创建UI的线程才能更新它。
对于上述场景,您必须在创建UI时缓存Dispatcher对象(Dispatcher.CurrentDispatcher)。其他线程必须通过Invoke/BeginInvoke将其代码块委托给该对象。 请参阅this link
0
控件只能从创建它们的线程更新。如果需要在另一个线程中执行耗时的操作,请查看BackgroundWorker
类。
0
另一边使用的调度方式是使用数据绑定。您可以将依赖项属性(如HorizontalOffset)绑定到可以在其他线程中轻松访问的对象的某个属性。
相关问题
- 1. 通用WPF多线程访问控件
- 2. 多线程访问C#中的WPF GUI#
- 3. 多线程WPF与访问器
- 4. WPF ScrollViewer问题
- 5. ScrollViewer问题,WPF
- 6. 如何访问WPF中ComboBox内的ScrollViewer?
- 7. WPF Dispatcher.BeginInvoke和线程访问
- 8. 如何在wpf多线程应用程序中访问窗口
- 9. 使用线程访问更多组件
- 10. 使用ADO.Net的多线程访问MySQL
- 11. WPF和多线程问题
- 12. WPF MVVM多线程问题
- 13. 使用scrollviewer截图WPF datagrid
- 14. C#WPF - ScrollViewer + TextBlock问题
- 15. WPF ScrollViewer
- 16. WPF多线程
- 17. Wpf多线程
- 18. WPF多线程
- 19. 多线程WPF
- 20. 多线程访问集合
- 21. 多线程访问Excel
- 22. 多线程访问变量
- 23. 多线程变量访问
- 24. 被多个线程访问
- 25. Android SQlite多线程访问
- 26. NSMutableDictionary&多线程访问
- 27. 多线程文件访问
- 28. java多线程访问Hashtable
- 29. 多线程访问文件
- 30. synchronizedList多线程访问
使用分派器解决方法感谢 – user279244 2010-04-13 13:47:48