0
이 타원을 스타일의 ControlTemplate에 적용했다고 가정 해보십시오. 지금 즉시 마우스가이 요소가 마우스로 캡처됩니다이 타원과 접촉으로히트 테스트 영역 변경
<Ellipse x:Name="Ellipse"
Fill="#C0FFFFFF"
Stroke="{StaticResource SpecialColor}"
StrokeThickness="2"/>
를 (예를 들면 :이 슬라이더의 엄지 손가락에 사용됩니다). 충돌 형상을 어떻게 변경합니까? 이 작업을 수행 할 수있는 XAML 전용 방법이 있습니까?
마우스가 타원 중간에있을 때 충돌 영역을 작게 만들려고한다고 가정 해 봅시다.
또는 타원 크기보다 큰 충돌 영역을 만들기를 원할 것입니다. 마우스가 타원에 가까워지면이를 캡처합니다.
가장 쉬운 방법 (XAML 전용)은 'Fill = "Transparent"가있는 약간 큰 (또는 더 작은) 타원을 그 위에 놓는 것입니다. 투명 (null과 반대)은 히트 테스트에 포함됩니다. –
큰 타원을 더 크고 투명하게 배치하는 것은 좋은 생각입니다. 그러나 타원은 더 작아지는 것은 어떻습니까? 바깥 타원에 브러시로 채우면 히트 테스팅으로 계산됩니다. –
Erno가 그의 답변에서 지적했듯이 투명 타원에서 마우스 이벤트를 처리해야합니다. 현재 타원을 장식 자라고 생각하고 투명 타원을 "실제"타원이라고 생각하십시오. –