【问题标题】:How do you insert a row/column in a WPF Grid?如何在 WPF 网格中插入行/列?
【发布时间】:2023-10-16 03:41:01
【问题描述】:
有人对如何使用(最好)Visual Studio 2008 在 WPF 网格中插入行或列有任何建议吗?
添加一个新的RowDefinition 或ColumnDefinition 没有问题,但是对于受插入。有没有人想出一个聪明的方法来自动化这个(也许使用正则表达式查找/替换操作)?
如果这不能在 Studio 中完成,是否可以在 Blend 中完成?
【问题讨论】:
标签:
wpf
visual-studio-2008
xaml
grid
expression-blend
【解决方案1】:
在您的应用程序中使用较小尺寸的网格,然后将这些网格放入其他网格中,或者尝试Karl on WPF 提供的一些 WPF 网格工具
VS2010 看起来会有更好的编辑器。
Blend 非常擅长插入行 - 在设计编辑模式下,您可以单击边缘添加一行;然后,Blend 将调整您的布局,使其与已编辑的行看起来相同。您仍然需要在网格周围手动移动元素,但总体上应该会减少工作量。
【解决方案2】:
我遇到了同样的问题,并使用vim 来增加行号。这是我的表情:
:.,$s/\(Grid.Row="\)\(\d\+\)/\=join([submatch(1),submatch(2)+1],'')/
解释:
:.,$s 从当前行 (.) 替换 (:s) 直到文件末尾 ($)
/\(Grid.Row="\)\(\d\+\)/ 搜索Grid.Row=",后跟一个或多个数字 (\d\+)。这两个部分都在\( 和\) 之间以使用子匹配功能。
\=join([...],'') 连接数组中[ 和] 之间的字符串。
submatch(1),第一个子匹配,即文本Grid.Row="/
submatch(2)+1,第二个子匹配,即加1的数字。