Web ページで開く Silverlight コントロールがあります。しかし同時に、ユーザーの操作によっては、jquery カラーボックスも開きます。シルバーライトの背後にあるため、そのカラーボックスは表示されません。Silverlight コンポーネントの z-index を変更する方法はありますか?
1 に答える
Silverlight HTML パラメーターのwindowless
モードが に設定されていることを確認しますtrue
。
HTML 構文:
<object ...>
<param name="windowless" value="bool"/>
...
</object>
または、Silverlight.js を利用している場合
Silverlight.CreateObject(,,,{windowless:'bool'});
-or-
Silverlight.CreateObjectEx({properties:{windowless:'bool'}});
デフォルトでwindowless
は、 に設定されていfalse
ます。基本的にfalse
、Silverlight は独自のスーパーインポーズされた「ウィンドウ」を使用してレンダリングを実行します。この状態では、実際にはブラウザーを使用してレンダリングしていないため、常にすべてのHTML コンテンツの上に表示されます。この状態では、Silverlight プラグインは、ブラウザー/CSS の z-index を適用できなくなるため、基本的に無視します。
を true に設定するwindowless
と、ブラウザーのレンダリング システムに関連付けられ、その上に HTML コンテンツ (iframe や jquery カラー ボックスを含む) を重ねることができます。を実行することにはいくつかの欠点がありますが、ほとんどのwindowless
場合、大きな影響はありません。この状態では、ブラウザ/CSS 内で一般的な z-index 順序を利用できます。
これに関する MSDN の記事と、上に投稿した長所/短所およびコード スニペットを次に示します。