가젯 응용 프로그램에 표준 가젯 컨텍스트 메뉴가 표시되는 데 문제가 있습니다. 실버 라이트 컨트롤 때문에 오른쪽 버튼 Silverligh 컨트롤이 contextmenu 이벤트를 처리 할 때 발생하는 문제입니다.Windows 가젯 컨텍스트 메뉴
먼저 내 솔루션은 실버 라이트 컨트롤 transprent 웹 컨트롤 (테이블) 위에 놓는 것이 었습니다. 글쎄 그 방법은 잘 작동하는 가제트 컨텍스트 메뉴와 실버 라이트 컨트롤을 작동하지. 다음 단계는 transperent 웹 컨트롤을 보이지 않게하고 oncontextmenu를 처리하는 것이 었습니다. 이렇게
그것은 몇 가지 결함으로 일하고
ContextMenu()
{
var vis = document.getElementById('overlapControl').style.visibility;
if (vis == "hidden") {
document.getElementById('overlapControl').style.visibility = "visible";
window.event.returnValue = false;
}
HTML
<body oncontextmenu="ContextMenu();" onload="init();" >
자바 스크립트. 두 개의 오른쪽 버튼 클릭과 투명 이벤트 제어를 숨기는 이벤트를 만들어야합니다. 두 번째 문제는 큰 문제가 아니며, 예를 들어 컨트롤을 숨기기 위해 onmouseover 이벤트를 사용할 수 있습니다. 그러나 첫 번째 것은 목에 통증이 있습니다. 한 번의 클릭으로 상황에 맞는 메뉴를 표시 할 수있는 방법이없는 것 같습니다.
아이디어를 얻는 방법에 대한 아이디어. 또는 다른 더 나은 해결책일지도 모른다.
예 가 있습니다. –
그 참고에 감사드립니다. 여기가 최근의 것입니다. http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/05/28/how-to-handle-rightclick-mouse-event-in-silverlight-take-2.aspx 첫 번째 한 번 클릭 이벤트를 관리되는 코드에 제공하는 방법을 알게되었지만 실버 라이트 컨트롤에서 가젯 컨텍스트 메뉴 이벤트를 실행할 수 있습니까? –
이 예제가 해결책에 더 가깝다고 생각하지 않습니다. 단지 관리되는 코드에서 마우스 클릭 이벤트를 처리 할 수있게하지만 Silverlight 컨트롤 (관리 코드)에서 가젯 컨텍스트 메뉴를 열 수있는 방법이 없다는 것을 알고 있습니다. –