WPF, эквивалент ShowGridLines для панели переноса

Мне нужно отобразить рамку шириной 1 пиксель вокруг всех ячеек панели обтекания, вроде сетки Excel. К сожалению, панель переноса не реализует свойство сетки ShowGridLines. Я не могу поместить границу внутри каждой ячейки, потому что соседние ячейки будут иметь границу в 2 пикселя вместо 1 пикселя.

Поскольку панель обтекания динамически упорядочивает свой макет и не раскрывает его свойства, я не могу оценить правильное значение границы внутри ячейки. Возможен ли какой-либо обходной путь?


person user275587    schedule 26.05.2010    source источник


Ответы (1)


Невозможно показать линии сетки, потому что это просто не сетка. Даже в сетке WPF у вас очень мало контроля над внешним видом линий: Как изменить цвет линий сетки сетки в WPF?. Они действительно только для отладки. Обходной путь состоит в том, чтобы поместить границу внутри каждой ячейки, которая имеет толщину только внизу и справа: BorderThickness="0,0,1,1"

person Eric Mickelsen    schedule 26.05.2010
comment
Я в курсе всего, что ты сказал. Хотя предлагаемый обходной путь настолько прост, что я чувствую себя глупо, все же нужно добавить границу 1,1,0,0 вокруг всей шевелюры, чтобы все получилось правильно. - person user275587; 26.05.2010
comment
На самом деле ваш обходной путь не работает, когда обернутая ячейка ниже больше, чем ячейка выше, в верхней части ячейки не рисуется линия. - person user275587; 14.06.2010
comment
@ user275587: Это правда, но если ваши ячейки образуют то, что по сути является сеткой, или просто имеют одинаковую ширину, это не будет проблемой. - person Eric Mickelsen; 14.06.2010