Как вставить строку / столбец в сетку WPF? - PullRequest
5 голосов
/ 13 ноября 2009

У кого-нибудь есть предложения по вставке строки или столбца в сетку WPF с использованием (предпочтительно) Visual Studio 2008?

Нет проблем с добавлением новых RowDefinition или ColumnDefinition, но я действительно не слишком рад возможности увеличить Grid.Row или Grid.Column для большого количества ячеек, на которые влияет вставки. Кто-нибудь придумал умный способ автоматизировать это (возможно, с помощью операции поиска / замены с помощью регулярных выражений)?

Если это невозможно сделать в Studio, можно ли это сделать в Blend?

Ответы [ 2 ]

1 голос
/ 13 ноября 2009

Используйте сетки меньшего размера в своих приложениях, а затем поместите эти сетки в другие сетки, или попробуйте некоторые из инструментов сетки WPF, Карл в WPF

VS2010 выглядит так, как будто у него будет лучший редактор.

Blend достаточно хорош для вставки строк - в режиме редактирования дизайна вы можете щелкнуть по краю, чтобы добавить строку; Затем Blend настроит ваш макет так, чтобы он выглядел так же, как и отредактированная строка. Вам все равно придется вручную перемещать элементы по сетке, но в целом это должно быть меньше работы.

0 голосов
/ 13 декабря 2010

У меня была та же проблема, и я использовал vim для увеличения номеров строк. Это было мое выражение:

:.,$s/\(Grid.Row="\)\(\d\+\)/\=join([submatch(1),submatch(2)+1],'')/ 

Пояснение:

:.,$s подставить (:s) из текущей строки (.) до конца файла ($)

/\(Grid.Row="\)\(\d\+\)/ ищет Grid.Row=", за которым следует 1 или более цифр (\d\+). Обе части находятся между \( и \), чтобы использовать функцию подстать.

\=join([ ... ],'') объединяет строки в массиве между [ и ].

submatch(1), первое совпадение, т.е. текст Grid.Row=" /

submatch(2)+1, второе совпадение, т.е. число, увеличенное на 1.

...