프로그래밍/실버라이트

[실버라이트] TextBox 에 MouseLeftButtonUp 이벤트 주기

쿠샨 2011. 2. 24. 08:51

TextBox 에 이벤트 핸들러 연결을  동적으로 다음과 같이 하였을 경우에는 참 난감 하다........휴...

TextBox textBox_startDate = new TextBox();
textBox_startDate .MouseLeftButtonUp += new MouseButtonEventHandler(textBlock_start_MouseLeftButtonUp);



private void textBlock_start_MouseLeftButtonUp(object sender , MouseButtonEventArgs e)
{
~~~~~~~~~ 중 략 ~~~~~~~~~
}

이렇게 TextBox에 이벤트 핸들러 연결을 했을 경우 MouseLeftButtonUp 이벤트는 동작 하지 않으며, MouseLeftButtonDown 
이벤트는 TextBox 에 테두리를 클릭 했을 경우에는 이벤트가 터질 것이다.

이유는 아직 잘 모르겠다. 단지 해결 방법만 찾았을 뿐이다.              // 급한 마음에 해결 책 부터 찾았다 ㅠㅠ

해결책은 이벤트 핸들러 연결을 다음과 같이 해보자.

textBox_startDate.AddHandler(Control.MouseLeftButtonUpEvent, new MouseButtonEventHandler(textBox_startDate_MouseLeftButtonUp), true);

잘 될 것이다.

졸려서 도저히 왜 이렇게 해야 하는지는....다음 기회로 미룬다.

횡설 수설....한가지 더 생각 나는게.
Grid 에 AllowDrop = true 셋팅 을 하고 Drop 이벤트 핸들러 까지 연결을 해 줘도 Drop 이벤트가 발생 하지 않은 경우 Grid에 Background 를 셋팅 해 보자. 그럼 자~~~알 될 것이다. 이것도 왜????는 찾지 못하였다.

찾아야 할 해답이 산더미 구나...