2014-11-25 7 views
0

내 자신의 개별 타일을 그리려면 목록보기의 그리기 이벤트를 재정의했습니다. 각 타일에 나는 전화 아이콘을 놓고 클릭 이벤트를 첨부하여 사용자가 작은 아이콘 (타일 된 목록보기 항목 내)을 클릭 할 수 있고 명령을 실행하려고합니다.ListView 타일 내에 아이콘에 클릭 이벤트를 추가 할 수 있습니까?

마우스를 아이콘 위로 가져 가면 아이콘 색상이나 텍스트 색상을 변경할 수있는 호버 유형 시나리오를 구현하고 싶습니다.

가능하면 누구에게 알리십니까?

차이점이 있으면 타일보기에서 ObjectListView를 사용하고 있습니다.

답변

0

타일을 사용자 지정하려면 ObjectListView'sItemRenderer을 사용하고있는 것 같습니다.

각 렌더러에는 HitTest() 메서드가 있습니다. 렌더러에서이 메소드를 오버라이드하고 주어진 포인트가 흥미로운 부분 위에있을 때 OlvListViewHitTestInfo.HitTestLocationUserDefinedOlvListViewHitTestInfo.UserData (예 : "phone")으로 변경합니다.

ObjectListView.MouseMoveHitTest은 마지막 마우스 이동에서 적중 테스트 정보를 보유합니다.

MouseUp 이벤트 처리기를 설정하고 해당 처리기에서 MouseMoveHitTest.HitTestLocationMouseMoveHitTest.UserData 속성을보고 마우스를 클릭했을 때 휴대 전화 위에 있는지 확인하십시오.

마찬가지로 타일을 그릴 때 동일한 속성을 사용하여 휴대폰을 강조 표시할지 여부를 결정할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이 기능을 사용하게되어서 기쁩니다. 당신이 어떤 종류의 모범을 가지고 있기 때문에 그것을 완전히 이해할 수 있습니다. 무슨 뜻인지 이해하고, 올바르게 설정하는 방법을 모르겠습니다. 감사합니다. – Riples

+0

Nevermind, 저는 거의 감사합니다. 내가 지금 가지고있는 유일한 문제는 각 타일 항목을 두 번 눌러야 작동한다는 것입니다. 처음 클릭 할 때 'MouseMoveHitTest.UserData'는 아무 것도 반환하지 않지만 두 번째로 내 문자열 값을 반환합니다. – Riples

관련 문제