Silverlight js html 相互呼叫

2022-09-16 06:39:11 字數 3085 閱讀 7705

1.sl呼叫js

比如我們在頁面中定義乙個js函式:

sl中可以有二種呼叫方式:

htmlpage.window.

createinstance

("fntest", "createinstance");

或者htmlpage.window.

invoke

("fntest", "invoke");

執行的效果完全相同,但是建議用invoke方法,原因是:

createinstance是htmlwindow中定義的方法,而htmlwindow繼承自htmlobject,再向上找htmlobject又繼承scriptobject,最終呼叫的還是scriptobject中的invoke方法,所以用createinstance繞來繞去,最終還是繞到了invoke上,還不如一步到位直接invoke更高效。

2.sl修改dom元素屬性

比如頁面中有乙個文字框:

sl中同樣也有二種方法呼叫:

htmlpage.document.getelementbyid("txttarget").setattribute("value", "silverlight");

htmlpage.document.getelementbyid("txttarget").setproperty("value", "silverlight");

功能完全相同,同樣建議用setproperty方法,理由同上

3.sl為dom元素附加事件

htmlpage.document.getelementbyid("txttarget").attachevent("focus", new eventhandler(attachjsmethod));

private void attachjsmethod(object o, eventargs e)

以上**將為txtgarget文字框附加onfocus事件處理函式:fntest

4.js呼叫sl中的方法,屬性

[scriptablemember()]

public string hello(string msg)

[scriptablemember()]

public void test(string msg)

private string _myname = "";

[scriptablemember()]

public string myname get }

這裡定義二個方法(乙個有返回值,乙個沒返回值),外加乙個屬性

" style="text-decoration: none">

style="border-style: none" />

然後定義對應的函式:

為了測試fnclicktest,可以在頁面中加乙個button,類似這樣:

onclick="fnclicktest()">呼叫sl中的方法

說明:silverlightloaded會在silverlight控制項載入完成時觸發,觸發完了以後,slctl這個全域性變數就保留了對silverlight的引用,其它地方就能繼續呼叫silverlight中的各種方法和屬性了

1.sl呼叫js

比如我們在頁面中定義乙個js函式:

sl中可以有二種呼叫方式:

htmlpage.window.

createinstance

("fntest", "createinstance");

或者htmlpage.window.

invoke

("fntest", "invoke");

執行的效果完全相同,但是建議用invoke方法,原因是:

createinstance是htmlwindow中定義的方法,而htmlwindow繼承自htmlobject,再向上找htmlobject又繼承scriptobject,最終呼叫的還是scriptobject中的invoke方法,所以用createinstance繞來繞去,最終還是繞到了invoke上,還不如一步到位直接invoke更高效。

2.sl修改dom元素屬性

比如頁面中有乙個文字框:

sl中同樣也有二種方法呼叫:

htmlpage.document.getelementbyid("txttarget").setattribute("value", "silverlight");

htmlpage.document.getelementbyid("txttarget").setproperty("value", "silverlight");

功能完全相同,同樣建議用setproperty方法,理由同上

3.sl為dom元素附加事件

htmlpage.document.getelementbyid("txttarget").attachevent("focus", new eventhandler(attachjsmethod));

private void attachjsmethod(object o, eventargs e)

以上**將為txtgarget文字框附加onfocus事件處理函式:fntest

4.js呼叫sl中的方法,屬性

[scriptablemember()]

public string hello(string msg)

[scriptablemember()]

public void test(string msg)

private string _myname = "";

[scriptablemember()]

public string myname get }

這裡定義二個方法(乙個有返回值,乙個沒返回值),外加乙個屬性

" style="text-decoration: none">

style="border-style: none" />

然後定義對應的函式:

為了測試fnclicktest,可以在頁面中加乙個button,類似這樣:

onclick="fnclicktest()">呼叫sl中的方法

說明:silverlightloaded會在silverlight控制項載入完成時觸發,觸發完了以後,slctl這個全域性變數就保留了對silverlight的引用,其它地方就能繼續呼叫silverlight中的各種方法和屬性了

C Matlab 相互呼叫

visualstudio2013 net4.0 matlab2015b 高版本的matlab對外置其它語言做得很方便了,並不需要一堆的配置。其它語言與matlab的互動操作也類似。基本思路 將matlab函式打包成dll檔案,聯合matlab資料支援dll mwarray.dll 交付給其它語言程式...

C Matlab 相互呼叫

禾木junjie原文c matlab 相互呼叫 visualstudio2013 net4.0 matlab2015b 高版本的matlab對外置其它語言做得很方便了,並不需要一堆的配置。其它語言與matlab的互動操作也類似。基本思路 將matlab函式打包成dll檔案,聯合matlab資料支援d...

lua和c 相互呼叫

include include include include include extern c lua state l int luaadd lua state l,int x,int y extern int cl domylua lua state l extern int cl drawte...