在AutoCAD命令中调用wpf窗体出现线程错误

问题描述

请问一下,为什么在AutoCAD命令中调用wpf窗体会出现线程错误?我用了System.Windows.Interop.WindowInteropHelper类也不行,System.InvalidOperationException。

解决方案

解决方案二:
跨线程调用,wpf窗体所在线程与你的命令线程不是同一个。具体可以去查查WPFDispatcher
解决方案三:
Dispatcher太高深了,可以说说具体如何实现吗?

时间: 2024-11-01 15:07:30

在AutoCAD命令中调用wpf窗体出现线程错误的相关文章

PowerShell中调用WPF生成炫酷窗口实例_PowerShell

怎样在PowerShell中调用WPF,你知道,我也知道:怎样在PowerShell中将很长的.NET类型名称缩短成别名,你知道,我也知道.但是怎样将这两个知识点融汇贯通,写出一个优雅的DEMO,并且让你一眼就能看出,这就是WPF,不是别的,也许你以前就知道,而我直到今天才知道,有种相见恨晚的感觉. 先看一下炫酷的效果吧! PowerShell之WPF炫酷 # Plik: 4_Demo_v3_Reflection.ps1 #requires -version 3 $Akceleratory =

C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用)

本文转载:http://www.csframework.com/archive/2/arc-2-20110805-1771.htm 文章侧重点主要是讨论"窗体"与"窗体"之间方法的调用,以及"MDI父窗体"与"Chilid子窗体"之间如何相互的调用方法. C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用) 看似一个简单的功能需求,其实很多初学者处理不好的,很多朋友会这么写: C# Code: //父窗体是是frmPare

如何在多线程中调用winform窗体控件

由于 Windows 窗体控件本质上不是线程安全的.因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包括争用和死锁的情况.于是在调试器中运行应用程序时,如果创建某控件的线程之外的其他线程试图调用该控件,则调试器会引发一个 InvalidOperationException  本文用一个很简单的示例来讲解这个问题(在窗体上放一个TextBox和一个Button,点击Button后,在新建的线程中设置T

在C#中调用API注册新用户错误,返回500错误码

问题描述 在我们公司的后台系统调用注册环信账户的api的时候返回500状态码是怎么回事? 解决方案 已经在环信的技术支持下解决了.谢谢.解决方案二:你把所有的提示贴全一点

PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法_PowerShell

     单独使用一种脚本来完成一项任务是理想的状态,而现实的情况往往是,因为历史原因.或者团队组成,你不得不将多种脚本或者程序组合在一起,来完成某项任务.本文的讨论范围是Cmd命令与PowerShell命令之间的组合与调用.      毋庸置疑,Cmd命令与PowerShell命令之间的调用有两个方向.即在Cmd命令中调用PowerShell的命令,以及在PowerShell脚本中调用Cmd命令.需要说明的是,这里的调用分两个层次:一.简单的在其中一个的环境中执行另外一个命令,完成部分工作:二

C++中调用JS代码的问题

前段时间开发了一个COM组件配合web前端使用,遇到了C++中调用JS代码的问题,在网上查了很多资料,现 总结一下,留作以后察看. C++中调用JS代码主要有两种情况:1. IE线程中调用:2. 其他线程调用 1. IE线程中调用:这种情况网上已经有很多资料,下面列出示列代码: C++代码 STDMETHODIMP CJsInvoker::InvokeJsFunc(LONG para1, LONG para2, VARIANT jsFunction, LONG* retValue) { CCom

在WPF工程中如何调用Windows窗体控件项目中控件属性、方法以及事件????

问题描述 运行环境:VS2008使用的工程:WPF应用程序以及Windows窗体控件库使用过程:新建一个Windows窗体控件库项目,这里名字叫MyControl新建一个Form窗体用来承载用户控件,这个Form窗体叫UerControl1,对应的文件名字为:UerControl1.vb在项目中添加对用户控件的必要的引用在项目中添加一个我下载的用户控件,这里名字叫A新建一个WPF工程,这里名字叫WPFProjWindow1.xaml文件的代码如下:<Windowx:Class="Windo

让WPF窗体程序支持命令行方式运行的三种方式

有的时候,我们希望窗体程序也能接受命令行参数,以Console的方式运行.但是实现起来却要一些小技巧才能做到.如果做一个WPF程序,在Window的Loaded事件里写这样的语句: Console.WriteLine("Hello word."); 然后从CMD运行之.会发现这个语句根本没有输出出来.如图1所示. 图1. 从命令行运行Wpf程序 对于这个问题有三个解决方案.三个方案各有优缺点,请酌情选择. 1.使用more命令:这种方案不需要修改任何代码,只要在从命令行运行时加个 &q

Windows窗体控件如何给WPF窗体中的控件传递信息????????

问题描述 请问大家,我这里有两个工程,一个是WPF窗体工程,一个是Windows窗体控件.然后WPF窗体工程中加载了Windows窗体控件.现在我再在WPF窗体中加入两个TextBox控件,我希望鼠标在Windows窗体控件内移动鼠标的时候,Windows窗体控件的Mouse_Move事件触发,并且该事件中能够编写代码把鼠标当前位置的X,Y坐标分别显示在WPF窗体的TextBox控件内.请问,这如何实现呢? 解决方案 解决方案二:自己顶一下.望大家帮忙.解决方案三:PostMessage解决方案