JavaScriptからSilverlight辞書にアクセスしようとしています。 hereに記載されているように、SilverlightはJavaScriptを介してアクセスできる辞書型のラッパーを作成します。JavaScriptからSilverlight辞書を反復するか?
function MyFunction(dictionary)
{
// This works okay...
alert(dictionary["someKey"]);
}
しかし、私の場合、どのキーが実際に辞書に入っているのかわかりません。しかし、MSDNのページでは、この情報にアクセスする方法は記述されていません。私は試しました:
function MyFunction(dictionary)
{
for (var item in dictionary)
{
// Do stuff
alert(item);
}
}
これは動作しません。私はまた、length
とtoArray()
のような配列に定義されたプロパティとメソッドを使ってみました。私はkeys
プロパティを推測しようとしました。言うまでもなくそれらのどれも働いていない。
これはSilverlightで公開されているラッパーでの主要な監視ですか、何か不足していますか?何が最良の選択肢ですか?
完全期すためは、Silverlightのコードは非常に興味深いものではなく、次のようになります。
void MyMethod(IDictionary<string, string> dictionary)
{
jsObjectDefiningMyFunction.MyFunction(dictionary);
}
+1これは最も総合的なアプローチです。 – AnthonyWJones
dictionary.Keys.ToArray()としてキーを渡すだけです。 – Bryant
SilverlightはKeyCollectionでToArray()メソッドをサポートしていないようです。 – jayarjo