2012-04-04 4 views
2

Silverlight 온라인 게임을 개발하는 데 VS2010, C#을 사용하고 있지만 사용자 입력을 위해 키보드를 사용하지만 처음에는 silverligh 캔버스를 클릭하여 키보드를 활성화해야합니다 (하나의 캔버스 만 있습니다. 내 화면에서 전체 화면이 아닌 다른 것은 없다), 처음에는 키보드에 초점을 두어 어떻게 게임을 시작할 때마다 사용자가 키보드로 놀 수 있으며 (캔버스를 클릭 할 필요가 없음) 여기에 설명 된대로Silverlight 응용 프로그램에서 마우스를 클릭하여 키보드를 활성화해야합니다.

 public MainPage() 
    { 
     InitializeComponent(); 
     Loaded += new RoutedEventHandler(Page_Loaded); 
    } 


     void Page_Loaded(object sender, RoutedEventArgs e) 
    { 
     this.KeyDown += new KeyEventHandler(Page_KeyDown); 
    } 

     void Page_KeyDown(object sender, KeyEventArgs e) 
    { 
    .... 
    } 

답변

1

는 실버 라이트 플러그인에 먼저 초점을 설정해보십시오 : 내 키보드를 설정 http://blog.falafel.com/Blogs/josh-eastburn/2011/03/10/Setting_Focus_on_the_Silverlight_Plugin_Object

그런 다음 키보드 입력을 받아들이는 컨트롤에 후속 포커스를 적용하십시오. 인 제어 무엇

$('#silverlightPlugin').on(function(){ 
    $(this).focus(); 
} 
+0

:이 문서 준비 기능을 초기 스크립트를 실행하여 DOM 트리에서 인스턴스화 된 후

나를 위해 일한 것 추가적인 팁은 플러그인에 DOM 포커스를 설정하는 것입니다 내 키보드 입력을 수락 하시겠습니까? 내 캔버스? –

+0

코드를 보지 않고 말하기는 어렵지만 Silverlight 응용 프로그램에서 텍스트 상자와 같은 키보드 이벤트를 트리거 할 것으로 예상되는 요소가 있다고 가정합니다. 핵심 이벤트를 발생시키려는 요소가 무엇이든간에 플러그인에 포커스를받은 후 포커스를 설정하려는 것입니다. – KodeKreachor

관련 문제