Нужно ли Silverlight <Line>определять ширину и высоту? - PullRequest
0 голосов
/ 03 октября 2009

Кажется, что не будет видно, если не указаны высота и ширина. Это правда?

Это кажется довольно утомительным. Разве границы линии не могут означать правильную ширину и высоту?

    <Canvas Height="200" Width="200" HorizontalAlignment="Left" Background="Beige">
        <!-- This is visible -->
        <Line X1="20" Y1="40" X2="70" Y2="90"
              Stroke="Black" StrokeThickness="4" Height="100" Width="100" />

        <!-- This is not visible -->
        <Line X1="10" Y1="10" X2="50" Y2="50"
              Stroke="Black" StrokeThickness="4"/>
    </Canvas>

(я использую Silverlight 3.)

Ответы [ 4 ]

1 голос
/ 06 декабря 2010

В SL 4 MS показывает примеры смешивания X1, X2, Y1, Y2 с Canvas.Left

По моему опыту, в Visual Studio 2010, чтобы увидеть линию в представлении конструктора, мне пришлось установить ненулевую ширину и высоту, а также использовать X, Y для установки линии в этом пространстве.

0 голосов
/ 01 июля 2011

У меня Silverlight 4, и я решил проблему, указав ширину холста, высоту холста, x1, x2, y1, y2.

0 голосов
/ 08 февраля 2011

Кажется, что линия рисуется в точке (X1, Y1) относительно Canvas.Left, Canvas.Top элемента Line. Поэтому, не указывая Canvas.Left, Canvas.Top означает, что линия фактически рисуется в точке (X1, Y1).

Это похоже на размеры элемента управления (или поверхность рисования линии), определяемые Canvas.Left, Canvas.Top, Width, Height, а фактическая линия отображается с помощью (X1, Y1) и (X2, Y2) относительно Canvas.Left, Canvas.Top.

RotateTransform использует значения Canvas.Left, Canvas.Top (если не указан другой центр), а не значения X1 и т. Д. Поэтому любые преобразования в строке могут не работать должным образом, если эти значения различаются.

0 голосов
/ 10 октября 2009

Нет, вы можете использовать один из следующих шаблонов для определения координат:

  1. X1, X2, Y1, Y2
  2. Canvas.Left, Canvas.Top, ширина, высота.

Если вы используете их вместе, CLR может иногда показывать ваши элементы управления неправильно.

...