2012-03-27 207 views
9

enter image description here神祕點

我試圖創建XAML和按我的理解,在給定的點輸出應該是填充黑色三角形使用點的多邊形,但它與粉紅色返回三角形填。我不明白這是怎麼發生的。請讓我知道。

臨屋XAML因爲這是

<Polygon Width="237" 
      Height="214" 
      Fill="White" 
      Stroke="Black" 
      StrokeThickness="2"> 
     <Polygon.Points> 
      <Point X="50" Y="50" /> 
      <Point X="150" Y="150" /> 
      <Point X="50" Y="150" /> 

     </Polygon.Points> 
    </Polygon> 
+0

我在新的測試應用程序中嘗試過它,我用黑色筆畫得到它。你可以發佈你的用戶控件的所有XAML嗎? – Eyjafjallajokull 2012-03-27 12:31:48

+0

是的,你有正確的選擇,顏色無關緊要,物質是形狀的東西,你有上面的形狀,但預期是下面的形狀。 – 2012-03-27 12:34:55

回答

6

點x = 0和Y = 0是在左上角,而不是在左下角。所以繪圖是正確的。

爲了得到你想要的是改變你的XAML如下:

<Polygon Width="237" 
     Height="214" 
     Fill="Black" 
     Stroke="White" 
     StrokeThickness="2"> 
    <Polygon.Points> 
     <Point X="50" Y="150" /> 
     <Point X="150" Y="150" /> 
     <Point X="150" Y="50" /> 

    </Polygon.Points> 
<Polygon> 
+0

我已經更新了圖片,好心地重新驗證 – 2012-03-27 12:55:16

3

點系統處於Canvas使用的相同,其中0,0是左上角

例如,點50,50好像是說Canvas.Left="50"Canvas.Top="50"

爲了得到你想要的形狀,你需要讓他們從上來氟米特讀來調整點而不是左下角。

<Polygon Width="237" 
     Height="214" 
     Fill="White" 
     Stroke="Black" 
     StrokeThickness="2"> 
    <Polygon.Points> 
     <Point X="50" Y="50" /> 
     <Point X="150" Y="50" /> 
     <Point X="150" Y="150" /> 
    </Polygon.Points> 
</Polygon> 
+0

謝謝rachel,我已經更新了圖片,請你重新驗證 – 2012-03-27 12:57:35

+0

@MSingh好的,它已經更新了。爲了弄清楚你需要的點,只要考慮'X'指向'Canvas.Left',並且'Y'指向'Canvas.Top' – Rachel 2012-03-27 13:01:10

1

<Point X="50" Y="150" />是錯誤的位置 - 就這樣。

應該是:<Point X="150" Y="50" />

簡單的X Y交換的錯誤,有什麼不對您的理解。