私たちは現在、デスクトップ クライアントと Web クライアントの両方に同じコントロールのビューを持つことを要求するプロジェクトに取り組んでいます。両方のニーズを満たすために、WPF と Silverlight を使用しています。WPF コントロールを備えたデスクトップ アプリケーションでは、"Alt" キー修飾子を使用して、マウスでコントロール内の特定のタスクを実行します。Silverlight で同じ機能を実装しており、Iternet Explorer が同じキーを使用してメニュー バーとステータス バーを表示することがわかりました...基本的に、クライアントが Alt キーを押しながらマウスを使用すると、この奇妙な動作が発生します。それで、私の質問は、IE で Alt イベントを処理して、Alt イベントが発生しないようにするにはどうすればよいですか? ありがとう!
質問する
301 次
2 に答える
0
あなたがしたいことは次のとおりです(これがメニューを非表示にするかどうかはわかりません)
- Alt キーをキャプチャ (JavaScript では、必ず JQuery を追加してください)
- Silverlight ホストにフォーカスする
- C# メソッドを呼び出す
代替キャプチャ
<script type="text/javascript">
var slHost = null;
$(document).ready(function () {
slHost = $('#silverlightControlHost'); // Caches Silverlight Host find the div id that holds the silverlight object tag
});
$(document).keydown(function (e) {
if (e.altKey) {
focus();
if (slHost)
slHost.Content.ScriptableObjectNameThatsBelow.MethodNameInClass();
}
});
</script>
JS から C# を呼び出す
[ScriptableType] //Attribute above class
HtmlPage.RegisterScriptableObject("Name of Class or whatever", this); // Add to constructor
[ScriptableMember] // Attribute above method
于 2013-06-18T21:24:08.233 に答える