2012-01-07 4 views
0

템플릿 기반 부모의 모양에 콘텐츠 바인딩 된 콘텐츠 발표자가 있습니다. 셰이프가 타원 인 경우 내용 표시자가 타원을 표시하지만 셰이프를 경로로 변경하고 타원 도형에 데이터 속성을 설정하면 아무 것도 표시되지 않습니다. 획을 설정하고 타원 셰이프와 동일하게 채 웁니다. 그러나경로가 표시되지 않습니다.

 Shape = new Path(); 
     Shape.Data = new EllipseGeometry(); 
     Shape.Fill = Brushes.Transparent; 
     Shape.Stroke = Brushes.CadetBlue; 

나는이로 교체 할 때 작업 (가정 모양 유형 타원이다) 않습니다 : 여기에 내가 경로를 구성하고 어떻게

 Shape = new Ellipse(); 
     Shape.Fill = Brushes.Transparent; 
     Shape.Stroke = Brushes.CadetBlue; 

나는를 사용하려는 이유 경로로 도형을 데이터로 사용하는 것은 모양에서 교차를 테스트하려고하기 때문에 모양 객체의 형상을 얻는 방법을 모르지만 형상이 마치 Path 인 것처럼 Shape.Data에 대해 테스트 할 수 있습니다. .

도움을 주시면 감사하겠습니다.

+0

Geometry.Parse ("포인트 값")를 시도하고 Shape.Data에 반환 값을 할당 할 수 있습니다 – deathrace

답변

0

EllipseGeometryEllipse 모양과 조금 다르게 동작합니다. 크기는 및 RadiusY 속성으로 정의되며 기본값은 0이므로 아무 것도 그려지지 않습니다. 그러나

Shape.Data = new EllipseGeometry { RadiusX = 1.0, RadiusY = 1.0 }; 

당신의 Ellipse이처럼이 여전히 아마 표시되지 않습니다, 다음과 같이 이러한 설정할 수 있습니다. EllipseStretch 속성의 기본값은 Stretch.Fill이지만 Path의 값은 Stretch.None입니다. 이를 변경하는 경우, 그들은 같은 모양입니다 :

Shape.Stretch = Stretch.Fill; 

당신은 Path의 다른 속성과 크기, 동양의 EllipseGeometry 함께 놀러하고 올바르게 찾을 수 있습니다.

관련 문제