1

我正在开发一个 AutoCAD .Net 插件,其中包含一个打开模式窗口的命令。该窗口应显示一个网页。

但它有一个奇怪的错误,这里有一个简单的代码来重现它:

[CommandMethod("TEST_BROWSER")]
public void TestBrowserCommand()
{
    var window = new Window();
    var browser = new WebBrowser();
    window.Content = browser;

    browser.Source = new Uri("http://google.com");

    window.ShowDialog();
}

或者更简单:

[CommandMethod("TEST_BROWSER")]
public void TestBrowserCommand()
{
    Application.ShowModalWindow(new Uri("http://google.com"));
}

以下是 AutoCAD 崩溃后的一系列步骤:

  1. 从命令行 (TEST_BROWSER) 调用命令。
  2. 关闭出现的窗口。
  3. 再次调用相同的命令
  4. 出现错误信息:http: //i.stack.imgur.com/sFWMX.png

如果打开非模态(无模式)窗口,或者不使用 Web 浏览器,或者在不使用命令的情况下调用代码,它工作正常。

但我需要一个带有从命令行调用的浏览器的模式窗口。

有没有其他人遇到过同样的问题?

4

3 回答 3

2

CommandMethod属性可以有一些标志。使用该session标志使该方法独立于打开的文档并由 AutoCAD 应用程序主窗口管理。

于 2013-06-25T18:01:26.853 回答
0

您可以创建 WPF 浏览器应用程序并在需要时使用给定的 url 启动。或尝试使用 AutoCAD 传递 shell 命令

您可以在 CMD 中选择的浏览器中打开网站,例如 chrome.exe “zcodia.com.au”

于 2013-06-14T05:25:13.163 回答
0

我目前无法测试,但我认为您需要将您的CommandMethod声明更改为:[CommandMethod("TEST_METHOD", CommandFlags.Modal)]

于 2013-06-17T09:26:14.973 回答