Tob*_*ans 2 silverlight expression-blend
我已经获得了一个自定义的Silverlight控件,每次我在Blend中打开它时,都会出现"DOM/scripting bridge is disabled"错误.
查看控件的源代码,我可以看到调用
public override void OnApplyTemplate()
{
...
HtmlPage.Window.Invoke("GetPrimaryGradStart").ToString()
Run Code Online (Sandbox Code Playgroud)
我猜这可能是问题所在.关于我能做什么的任何想法,还是我回到纯XAML?
干杯
托比
通常(即当Silverlight应用程序嵌入HTML页面时)必须通过HTML或JavaScript将"enablehtmlaccess"参数设置为true,因为否则不允许调用HtmlPage.Window.Invoke(并抛出异常) ).所以我猜问题是混合确实/不能设置该参数,而只显示该消息.如果您可以控制代码,则可以使用DesignerProperties.IsInDesignTool添加一个检查您是处于设计模式还是运行时模式的条件,例如:
if (!DesignerProperties.IsInDesignTool)
{
// Do the "evil stuff"
HtmlPage.Window.Invoke("GetPrimaryGradStart");
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
干杯,亚历克斯
编辑:如果它确实有帮助,您可能还想在代码中添加一些预编译器指令,这样您就不会在生产应用程序中使用这些设计工具填充语句:
#if !RELEASE
if (!DesignerProperties.IsInDesignTool)
#endif
HtmlPage.Window.Invoke("GetPrimaryGradStart");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4368 次 |
| 最近记录: |