2011-08-31 3 views
0

두 가지 셰이프를 하나의 형상으로 결합 할 수있는 방법이 있습니까? Line Geometry를 사용하여 GeometryGroup을 사용하여이 작업을 수행 할 수 있다는 것을 알고 있으며 두 선은 복합 모양이 될 것입니다. 그러나 선 기하 도형에는 자체 획 속성이 없으므로 Shape의 획을 사용하므로 다를 수 없습니다. 어떤 아이디어?셰이프 결합, LineGeometry에 획 속성 누락

즉, 선 형상에 획 속성이있는 모양에서 파생되기를 원하므로 선 형상에 자체 모양 획 속성이있는 모양에서 파생 될 수 있다면 생각하고 있습니다. 파생 된 클래스의 인수로 셰이프에 전달한 다음 해당 셰이더를 가져 오려고 생각했지만 셰이프는 여전히 동일한 획을 사용합니다.

답변

0

도형 대신 도면을 살펴볼 수도 있습니다. DrawingGroup은 내가 찾고있는 속성을 가지고 있습니다. 그런 다음 ImageDrawing 내에 DrawnigGroup을 호스팅 할 수 있습니다. 다시 말하자면, 마우스 이벤트와 같은 셰이프의 가능성은 전혀 없습니다 (시각적 히트 테스트 및 타이머를 사용하여 구현할 수 있음). 또 다른 방법은 DrawingGroup을 DrawingVisual 내부에 호스트하는 것입니다. ImageDrawing과 달리 DrawingVisual은 클릭 이벤트와 같은 몇 가지 기본적인 기회를 제공하지만이 문제에 대해서는 확신하지 못합니다. 내 질문에 대한 문제는 드로잉 및 기타 그래픽 객체와 함께 기하학을 혼란 시켰습니다. 기하 도형은 모양에 대한 경로 만 제공합니다. 그것들은 무언가가 그려지는 방법에 대한 지시와 같습니다. 이 지오메트리를 사용하여 모양을 렌더링하는 그래픽 객체가 필요합니다. 즉, 브러시와 획 (GeometryDrawing과 같은 Drawing 서브 클래스의 경우 펜)을 결합하는 것입니다. 비주얼도 비슷한 일을합니다. 마지막 모양은 FrameworkElement의 모든 기능을 구현한다는 점을 제외하고는 시각 및 드로잉과 유사합니다.