Путь не отображается - PullRequest
       14

Путь не отображается

0 голосов
/ 07 января 2012

У меня есть ведущий контента с довольным привязкой к фигуре из шаблонного родителя. Когда форма представляет собой эллипс, предъявитель содержимого отображает эллипс, однако, когда я изменяю фигуру на путь и устанавливаю свойство данных для геометрии эллипса, ничего не отображается, я задаю обводку и заливку так же, как на форме эллипса. Вот как я строю путь:

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

Однако, когда я заменяю его на это, он работает (при условии, что Shape имеет тип Ellipse):

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

Причина, по которой я хочу использовать путь с геометрией в качестве данных, заключается в том, что я хочу проверить пересечение на фигуре, но я не знаю, как получить геометрию объекта формы, где, как если бы фигура имеет тип Path Я могу проверить на Shape.Data.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 07 января 2012

EllipseGeometry ведет себя немного иначе, чем форма Ellipse.Его размеры определяются его свойствами RadiusX и RadiusY, которые по умолчанию равны 0, поэтому ничего не рисуется.Вы можете установить их следующим образом:

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

Однако, это, вероятно, все равно не будет отображаться так, как ваше Ellipse.Ellipse также по умолчанию Stretch.Fill для своего свойства Stretch, но Path имеет Stretch.None.Если вы измените это, они должны выглядеть одинаково:

Shape.Stretch = Stretch.Fill;

Вы можете поэкспериментировать с другими свойствами Path и EllipseGeometry для определения размера, ориентации и определения местоположения.*

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