2011-06-13 2 views
1

Silverlight 4.0을 사용하고 ComboBox 컨트롤에 문제가 있습니다. 내가 마우스를 클릭하지 않고 표시하고 숨길 팝업 메뉴를 구현하고 싶습니다. 해당 지역에 커서를 놓으면 표시됩니다.이 prt는 잘 작동합니다. 그런 다음 잠시 동안 마우스 포인터가 해당 영역 외부에있을 때마다 숨겨야합니다. MouseEnter 및 MouseLeave 이벤트로 구현했습니다. 내 문제는 ComboBox입니다.이 컨트롤은 제 의견으로는 이상하게 작동합니다. 일반적으로 마우스 커서를 그 위에 놓으면 MouseEnter 이벤트를 발생시키고 다른 곳에서는 마우스 커서를 놓을 때 MouseLeave를 발생시킬 것으로 예상됩니다. 실제 상황은 다릅니다 : 콤보 박스를 클릭 할 때마다 옵션 목록이 열리고 즉시 LostFocus 및 MouseLeave 이벤트가 전송됩니다. 실제로 컨트롤의 키보드 포커스를 잃어 버리고 마우스 포인터가 해당 지역 밖으로 이동 한 것처럼 보입니다. 사실 optins의 콤보 박스 목록은 열리고 활성 상태이며 키보드 포커스가 있습니다.ComboBox가 예상대로 키보드 및 마우스 이벤트를 발생시키지 않습니다.

그래서 내 프로그램에서 콤보 상자에서 어떤 일이 발생했는지 어떻게 알 수 있습니까? 팝업 메뉴를 올바르게 숨기려면 콤보 상자의 옵션 목록이 열리거나 닫힐 때를 알아야합니다. 이 문서 나 다른 문서에 대한 어떤 이벤트도 볼 수 없습니다. (원하는 동작 : 콤보 상자가 닫히면 마우스 커서의 위치에 따라 팝업 메뉴가 숨겨집니다. 콤보 상자가 열려 있으면 사용자가 콤보 상자에서 항목을 선택하거나 콤보 상자를 닫을 때까지 팝업 메뉴를 숨기지 않습니다.)

또한 제 3 자 콤보 박스 교체에 대한 경험이 풍부하고 유사하게 작동하며 필요한 이벤트를 발생시키는 경우 알려 주시기 바랍니다.

답변

관련 문제