Не вижу инсульта - PullRequest
       4

Не вижу инсульта

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

Я получаю от формы, это то, что в DefiningGeometry

protected override Geometry DefiningGeometry
    {
        get 
        {
            topLeft.X = Math.Min(Start.X, End.X);
            topLeft.Y = Math.Min(Start.Y, End.Y);
            width.X = Math.Abs(Start.X - End.X);
            width.Y = Math.Abs(Start.Y - End.Y);
            rectBounds.X = topLeft.X;
            rectBounds.Y = topLeft.Y;
            rectBounds.Width = width.X;
            rectBounds.Height = width.Y;
            rectGeo.Rect = rectBounds;
            return rectGeo;
        }
    }

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

Width = width.X  + StrokeThickness;
//same for height.

Но тогда ничего не получится, кто-нибудь знает, что я делаю неправильно?Кстати фон и мазок кисти разного цвета.

Ответы [ 2 ]

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

Инсульт всегда на вершине Fill. Толщина ниже 1,0 не представляет никакой проблемы, хотя очень тонкие штрихи естественным образом становятся невидимыми.

Заливка точно заполняет геометрию фигуры. Штрих отображает контур геометрии, половина мазка лежит внутри, а половина вне фигуры.

Никогда не добавляет StrokeThickness к ширине вашей фигуры (которая в любом случае будет работать только так, как вы ожидаете для прямоугольников). См. В MSDN поведение Shape .

Не выводите из Shape для создания простых геометрических объектов. Используйте предопределенные прямоугольник, эллипс, линию и т. Д. Используйте Path для более сложных геометрий и установите Path.Data.

Также см. Фигуры и базовый чертеж в обзоре WPF и, возможно, Обзор геометрии в MSDN.

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

StrokeThickness по какой-то причине должно быть больше 1 (я предполагаю, что кисть Fill покрывает его), или не устанавливать свойство Fill, и StrokeThickness 1 работает.

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