积极答复者
我有一个usercontrol 需要加载一个异步的延时的操作 这个usercontrol放在了一个主窗体里面 我用是自定义委托事件处理这个usercontrol上面的控件事件 用WPF的UI异步线程 处理 没有效果 。

问题
-
我有一个usercontrol 需要加载一个异步的延时的操作 (其实就是自定义个后台处理的动画,我在处理数据时这个动画,运行)
这个usercontrol放在了一个主窗体里面
我用是自定义委托事件处理这个usercontrol上面的控件事件
用WPF的UI异步线程 处理 没有效果 求高手帮助下。我代码的逻辑是这样子的:
我的有一个mainForm 里面有一个tabcontrol,每个tabitem下有一个usercontrol ,而我现在想要的效果就是点击usercontrol上的某一个事件,去局部异步刷新某一个容器控件的数据。
现在我用来Thread和Dispatcher压根儿一点效果都没有。
我在userconrol默认事件后台控制和在mainform委托事件控制异步都没有效果。
求解决方案,代码太多,需要的话,我可以贴。
/******************************************************************************************************/
下面是不部分代码和相关说明的贴图
1、这一块的MainForm中的tabcontrol.
<TabControl Margin="0,10,0,0" Style="{DynamicResource YN_TabControlStyle1_Message_IM}" Background="{x:Null}" BorderBrush="{x:Null}" Name="YN_InstantList" VerticalAlignment="Top"> <!--<TabItem Header="TabItem" Margin="0" Style="{DynamicResource YN_TabItemStyle1_Messgae_IM}"> <local:YN_UserCon_Content_IM Margin="0,-4,0,0" x:Name="YN_Control_Message_Content_Item" /> </TabItem>--> </TabControl>
2、
下面张截图是一个UserControl,MainForm中TabControl的 每个tabItem都会添加一个相同类型的Usercontrol- (这里的usercontrol都是后台动态添加到mainform的tabcontrol中去的)
我也不知道具体该贴什么代码,我就把这些个逻辑,贴到这里了
- 已编辑 dane- 2012年4月27日 13:53
答案
-
你修改了原Post导致我没有看到邮件通知,不好意思,晚了。
你最好把你的Dispatcher的代码给我看一下。你要清楚,Dispatcher后只是将代码回调回UI线程,如果你回调的代码本身就很耗时,那么这么回调只是加重了UI线程的处理,和开了线程作处理没有得到任何提高。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年5月10日 3:56
-
我其实并不是很明确你的问题发生的原因,因为你给的东西太模糊了。你要DEMO,没有问题,我可以发你几个连接,我以前写过的。不过所谓DEMO我想也未必能够解决你这个具体的问题,至于如何解决,我希望你能够从原理入手,直到为什么卡了,卡在什么地方,然后适当地去修改你的代码,下面是我的例子:
- https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21300&authkey=AD49FbpR1XrmZgs
- https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21468&authkey=AGl4Xu-Lh5NuxjY
- https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21626&authkey=ADcT5F1wHXVb-r4
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年5月10日 3:56
全部回复
-
能贴最好,或者你上传到www.skydrive.com 上,分享下连接。 否则光看描述,我也不清楚现象和原因。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
你修改了原Post导致我没有看到邮件通知,不好意思,晚了。
你最好把你的Dispatcher的代码给我看一下。你要清楚,Dispatcher后只是将代码回调回UI线程,如果你回调的代码本身就很耗时,那么这么回调只是加重了UI线程的处理,和开了线程作处理没有得到任何提高。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年5月10日 3:56
-
我其实并不是很明确你的问题发生的原因,因为你给的东西太模糊了。你要DEMO,没有问题,我可以发你几个连接,我以前写过的。不过所谓DEMO我想也未必能够解决你这个具体的问题,至于如何解决,我希望你能够从原理入手,直到为什么卡了,卡在什么地方,然后适当地去修改你的代码,下面是我的例子:
- https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21300&authkey=AD49FbpR1XrmZgs
- https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21468&authkey=AGl4Xu-Lh5NuxjY
- https://skydrive.live.com/embed?cid=51B2FDD068799D15&resid=51B2FDD068799D15%21626&authkey=ADcT5F1wHXVb-r4
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年5月10日 3:56