2013-01-15 6 views
3

이미지가있는 사용자 정의 컨트롤이있는 게임에 대한 맵 편집기를 만들고 있습니다. 그 컨트롤 안에는 MouseWheel 이벤트가 첨부되었지만 왜 그것이 어떻게 작동하는지 그리고 제대로 구현하는 방법에 대해 더 잘 이해할 수 있기를 희망하는 두 가지 문제점을 발견했습니다.WPF 사용자 정의 컨트롤에서 MouseWheel 이벤트 처리

컨트롤에 포커스가있을 때 대신 마우스를 가져 가면 해당 이벤트가 시작되는 것 같습니다. 가능하다면 마우스를 움직여도 아무리 초점이 맞춰지면 이벤트를 실행할 수 있고 두 번째 문제는 숫자가 양수일 때 델타를 검사하면 문제가 없지만 사고가 나면 다시 음수 일 때 숫자는 0xfffffffd 또는 그 범위의 값을 얻습니다. 긍정적 인 균형과 부정적인 가치의 차이를 차별화하는 방법은 무엇입니까?

도움을 미리 감사드립니다.

+0

야 혹시이 문제를 해결하기 위해 관리 않았다을? – reach4thelasers

+0

누구도이 문제를 해결 했습니까? – bananamana

답변

-1

당신이 집중 요소 시도에 대한 MouseWheel 이벤트 발사 할 경우

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 

     this.MouseWheel += OnMouseWheel; 
    } 

    IInputElement focusedElement; 

    private void OnMouseWheel(object sender, MouseWheelEventArgs e) 
    { 
     if (focusedElement is TextBox) 
     { 
      var tbx = focusedElement as TextBox; 

      //do something 
     } 
    } 

    protected override void OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs e) 
    { 
     focusedElement = e.NewFocus; 
    } 
} 
관련 문제