2012-01-07 69 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 2016-01-23 07:39:15

回答

0

EllipseGeometry的行爲與Ellipse形狀有點不同。其尺寸由其RadiusXRadiusY屬性定義,其默認值爲0,因此不繪製任何內容。您可以將這些如下:

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

然而,這仍然可能不會顯示爲您Ellipse一樣。 Ellipse也默認爲Stretch.FillStretch財產,但PathStretch.None。如果你改變這一點,他們應該是相同的:

Shape.Stretch = Stretch.Fill; 

你可以玩的Path的其他屬性和EllipseGeometry大小,東方,正確定位。