gpt4 book ai didi

触发 SilverLight 方法的 Javascript 按钮?

转载 作者:行者123 更新时间:2023-11-28 10:16:13 25 4
gpt4 key购买 nike

我创建了一个 Silverlight 应用程序,该应用程序基本上根据 JSON 字符串中存储的数据构建多层球体(想想同心圆)的横截面图像。 JSON 字符串是直径+颜色值的数组,如下所示:

[{"diam":100,"color:"#ffffff"},{"diam":150,color:"#ff0000"}]

我在 Silverlight 中一切正常。当我使用上面的 JSON 在浏览器中加载应用程序时,我成功获得了两个同心圆的渲染,内圆为白色(#ffffff),直径为 100 像素,外圆为红色(#ff0000),直径为 150 像素。太棒了。

现在,我必须将其集成到 HTML 页面中,并将 JSON 数据从 javascript 传递到 Silverlight。我正在使用 SIlverlight 提供的 HTMLBridge 功能,但在调用从 Javascript 构建可视化的 Silverlight 方法时遇到问题。

Silverlight 中的方法名称为 BuildViz(),它从 Silverlight Canvas 中删除所有现有元素,然后从名为 JSONData 的公共(public)属性重新构建可视化。 JSONData 在设置其值后调用 BuildViz() 方法:

[ScriptableMember()]
public string JSONData {
get { return _JSONData; }
set { _JSONData = value; BuildViz(); }
}

我尝试使用 HTMLBridge 将 JSONData 暴露给 javascript,并通过 javascript 设置它的值,但似乎没有调用 BuildViz() 方法(或者它被调用,但对我的 Canvas 没有影响)。不知道从这里去哪里。我在网上看到的 HTMLBridge 示例非常基本,只处理简单的方法,例如将字符串转换为大写并将其值返回给调用的 javascript。我需要在 Silverlight 中实际运行一个方法。

任何帮助将不胜感激。

TIA

最佳答案

试试这个,或者类似的东西

var silverlightObject = document.getElementById('_the_id_of_your_silverlight_obj_');
var jsonData = { value: 'hello world' }

// invoke setter
silverlightObject.Content._the_object_containing_your_method_.set_JSONData(jsonData);

// invoke getter
jsonData = silverlightObject.Content._the_object_containing_your_method_.get_JSONData();

关于触发 SilverLight 方法的 Javascript 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6550232/

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