Тайна очков в XAML - PullRequest
       3

Тайна очков в XAML

10 голосов
/ 27 марта 2012

enter image description here

Я пытаюсь создать многоугольник, используя точки в xaml, и, насколько я понимаю, на выходе с заданными точками должен быть треугольник с черной заливкой, но он возвращает треугольник с розовой заливкой,Я не понимаю, как это происходит.Пожалуйста, дайте мне знать.

Tha 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>

Ответы [ 3 ]

7 голосов
/ 27 марта 2012

Точка 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>
3 голосов
/ 27 марта 2012

Система точек такая же, как в 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>
1 голос
/ 24 февраля 2013

<Point X="50" Y="150" /> неверное местоположение - и все.

должно быть: <Point X="150" Y="50" />

Простая ошибка обмена XY, в вашем понимании нет ничего плохого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...