gpt4 book ai didi

silverlight - "The DOM/scripting bridge is disabled"混合错误

转载 作者:行者123 更新时间:2023-12-02 08:58:47 25 4
gpt4 key购买 nike

我获得了一个可以使用的自定义 Silverlight 控件,每次我在 Blend 中打开它时,都会收到“DOM/脚本桥已禁用”错误。

查看控件的源代码,我可以看到调用

public override void OnApplyTemplate()
{
...
HtmlPage.Window.Invoke("GetPrimaryGradStart").ToString()

我猜这可能是问题所在。关于我能做什么有什么想法,还是我回到了纯 XAML?

干杯

托比

最佳答案

通常(即当 Silverlight 应用程序嵌入 HTML 页面时)必须通过 HTML 或 JavaScript 将应用程序的“enablehtmlaccess”参数设置为 true,因为否则不允许像 HtmlPage.Window.Invoke 这样的调用(并且抛出异常)。所以我想问题是 Blend 确实/不能设置该参数,而只显示该消息。如果您可以控制代码,则可以使用 DesignerProperties.IsInDesignTool 添加一个条件来检查您是处于设计模式还是运行时模式,例如:

if (!DesignerProperties.IsInDesignTool)
{
// Do the "evil stuff"
HtmlPage.Window.Invoke("GetPrimaryGradStart");
}

希望有帮助。

干杯,亚历克斯

编辑:如果它确实有帮助,您可能还想在代码中添加一些预编译器指令,这样您的生产应用程序中就不会出现这些设计工具内容语句:

#if !RELEASE
if (!DesignerProperties.IsInDesignTool)
#endif
HtmlPage.Window.Invoke("GetPrimaryGradStart");

关于silverlight - "The DOM/scripting bridge is disabled"混合错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2913881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com