JSON 文字列に格納されたデータから多層球 (同心円と考えてください) の断面イメージを基本的に構築する Silverlight アプリケーションを作成しました。JSON 文字列は、直径と色の値の配列であり、次のようになります。
[{"diam":100,"color:"#ffffff"},{"diam":150,color:"#ff0000"}]
Silverlight 内ですべてが動作しています。上記の JSON を使用してブラウザーでアプリを読み込むと、2 つの同心円のレンダリングが正常に取得されます。内側の円は直径 100 ピクセルの白 (#ffffff) で、外側の円は赤 (#ff0000) です。直径 150 ピクセル。偉大な。
ここで、これを HTML ページ内に統合し、その JSON データを JavaScript から Silverlight に渡す必要があります。SIlverlight が提供する HTMLBridge 機能を使用していますが、Javascript から Viz を構築する Silverlight メソッドを呼び出すのに問題があります。
Silverlight でのメソッド名は BuildViz() で、Silverlight キャンバスからすべての既存の要素を削除し、JSONData という名前のパブリック プロパティから視覚化を再構築します。JSONData は、値の設定時に BuildViz() メソッドを呼び出します。
[ScriptableMember()]
public string JSONData {
get { return _JSONData; }
set { _JSONData = value; BuildViz(); }
}
HTMLBridge を使用して JSONData を javascript に公開し、javascript を介してその値を設定しようとしましたが、BuildViz() メソッドが呼び出されていないようです (または、呼び出されてもキャンバスには影響しません)。ここからどこへ行くべきかわからない。私がオンラインで見た HTMLBridge の例は非常に基本的なもので、文字列を大文字に変換し、その値を呼び出し元の JavaScript に返すなどの単純な方法しか扱っていません。Silverlight 内で実際にメソッドを実行する必要があります。
どんな助けでも大歓迎です。
ティア