JavaScriptの呼び出し †HtmlPage.Window.Invokeメソッドによって、呼び出せます JavaScriptからの操作 †ホスト側 <!-- Silverlightから公開されたオブジェクトを操作するJavaScript --> <script type="text/javascript"> function Button1_onclick() { // プラグインのインスタンスを取得します。 var hostElement = document.getElementById("silverlightControlHost"); var plugin = hostElement.childNodes[0]; // プラグインのインスタンスが取得出来たら、 // Silverlightから公開されたオブジェクトにアクセスします。 if (plugin != null) { plugin.Content.SLObj.SilverlightMethod("JavaScriptから呼び出されました。"); } } </script> <div id="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="Sample.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="4.0.50401.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none"> <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Microsoft Silverlight の取得" style="border-style:none"/> </a> </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> Silverlight側 //JavaScriptから呼び出せすクラスを作成 public class ClientScriptInterface { public void Register(string scriptKey) { // スクリプトでアクセスできるようにマネージ オブジェクトを登録します。 HtmlPage.RegisterScriptableObject(scriptKey, this); } // スクリプトから利用可能なメンバを定義します。 [ScriptableMember] public void SilverlightMethod(string message) { //実際の処理 } } Appクラス private void Application_Startup(object sender, StartupEventArgs e) { // スクリプトから呼び出せるように登録します。 this.scriptObject.Register("SLObj"); } 超多機能のアクセス解析が永久無料! コメント: |