苏苏苏苏苏、 发表于 2021-7-19 09:12:20

【C1XAML-27852】FlexGrid多UI线程报错

本帖最后由 Richard.Ma 于 2021-7-23 17:14 编辑

使用场景多UI线程,运行报错跨线程调用

Richard.Ma 发表于 2021-7-19 09:21:21

其他线程调用UI线程上的控件就会报这个错误,这个是WPF常见的错误

_grid.Dispatcher.Invoke(new Action(()=>{
//在这里对_grid进行操作
}));

帮你找到了网上相关的博客
https://blog.csdn.net/cselmu9/article/details/8274556

苏苏苏苏苏、 发表于 2021-7-19 09:27:12

Richard.Ma 发表于 2021-7-19 09:21
其他线程调用UI线程上的控件就会报这个错误,这个是WPF常见的错误




不行,试过了您的方法

Richard.Ma 发表于 2021-7-19 09:54:31

我这里测试这样的代码没有问题,如果问题无法解决的话,可以上传一个重现问题的示例,我帮你看看原因

            var th=new Thread(new ThreadStart(() =>
            {
                gg.Dispatcher.Invoke(new Action(() => {

                  gg.Children.Add(new C1FlexGrid());
                  
                }));
            }));
            th.Start();

苏苏苏苏苏、 发表于 2021-7-19 14:27:51

Richard.Ma 发表于 2021-7-19 09:54
我这里测试这样的代码没有问题,如果问题无法解决的话,可以上传一个重现问题的示例,我帮你看看原因

ok 这是demo

苏苏苏苏苏、 发表于 2021-7-19 15:16:44

Richard.Ma 发表于 2021-7-19 09:54
我这里测试这样的代码没有问题,如果问题无法解决的话,可以上传一个重现问题的示例,我帮你看看原因

可以解决吗

Richard.Ma 发表于 2021-7-19 16:12:35

对你这边的代码做了下面的修改,可以正常的弹出窗口

苏苏苏苏苏、 发表于 2021-7-19 17:06:58

Richard.Ma 发表于 2021-7-19 16:12
对你这边的代码做了下面的修改,可以正常的弹出窗口

那这样不就把所有窗体操作委托到主线程上去了吗? 我的这么做的初衷就是一个窗体一个UI线程

Richard.Ma 发表于 2021-7-19 18:02:52

明白你的问题了,FLEXGRID控件的这个错误确实存在。可能是控件的bug。

问题我这边会发给研发来确认原因。可能需要几天的时间,此帖保留处理。有消息我会在这里回复

苏苏苏苏苏、 发表于 2021-7-20 08:51:06

Richard.Ma 发表于 2021-7-19 18:02
明白你的问题了,FLEXGRID控件的这个错误确实存在。可能是控件的bug。

问题我这边会发给研发来确认原因 ...

好的 麻烦了
页: [1] 2
查看完整版本: 【C1XAML-27852】FlexGrid多UI线程报错