2012-05-04 12 views
3

私はSilverlightアプリケーションにWinformsアプリケーション経由でJSON文字列を送信しようとしています。Silverlightからwebbrowser経由でwinformsへの通信

私はそれはjavascriptの

function CallMe(message) { 
    var control = document.getElementById('silverlightControl'); 
    control.Content.Page.CallMeInSilverlight(message); 
}  

しかし、私はJavaScriptを使用してこの作業を行うことはできませんいくつかの理由のために

HtmlPage.RegisterScriptableObject("Page", this); 
..... 
[ScriptableMember] 
public void CallMeInSilverlight(string message) 
{ 
    HtmlPage.Window.Alert("The form said: " + message); 
} 

を使用して、私のSilverlightのメソッドを暴露することによって行わ取得するために数回を試みた

。それは単に呼び出されません。 Winformsの中

webBrowser1.Document.InvokeScript("CallMe", new object[] { "testing 1 2 3" }); 

アム私が何か間違ったことをやって?

+0

すべてが正しく見えます。あなたのSilverlightコントロールのIDは正しいですか? WebブラウザでJSエラーが発生していますか? –

+0

'WebBrowser.IsScriptEnabled = true'を設定しましたか? – ColinE

+0

John Koerner: ColinE、IsScriptEnabledは存在しません。 –

答えて

0

私は自分のプロジェクトをビルドすると、Silverlightによって作成されたテキストページが上書きされることに気付きました。

これは私のWebブラウザが投稿したhtmlページで、javascriptコマンドであるため、コマンドは決してsilverlightコントロールに到達しませんでした。

javascriptコマンドで別のページを作成した後、完全に機能しました。

関連する問題