在 WPF 中的许多控件中更改 Grid.Row 和 Grid.Column 的简单方法
这种情况我已经经历过1000次了: 我的网格有 2 列和许多行。大多数情况下,我在第一列中有 TextBlock,在第二列中有 TextBox,但并非总是如此。现在,当我有 50 行时,我决定将第 49 行移动到网格中的第一行,并且我不想交换行,我想将其插入到第一位。然后我需要更改所有其余控件的 Grid.Row 和 Grid.Column 的值。这让我发疯。我怎样才能让这件事变得更容易?
I have this situation 1000 times already:
I have grid with 2 columns and many rows. Mostly i have TextBlock in first column and TextBox in second but not always. Now when I have 50 rows and I decide to move row 49 to the first row in grid, and I don't want to swap rows, I want to insert it to first place. Then I need to change values of Grid.Row and Grid.Column of all the rest of controls. This i driving me crazy. How can I make this easier?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以从一开始就使用我在这个问题中概述的标记扩展,如果您随后需要插入新行,那应该不会那么麻烦。
You could use something like the markup extension i outlined in this question right from the beginning, if you then need to insert a new row that should be less trouble.
如果您的xaml代码格式正确,您可以按住Alt键选择并剪切每一行中的Grid.Row="x",然后按住Alt键选择并粘贴他们往下一行。
例如。
您想要将
移至顶部。只需按住“Alt”键即可选择并复制:再次使用Alt键粘贴它们以替换原始内容
,这样您就可以得到
然后只需移动
到顶部并将其Grid.Row
更改为 0If you have formatted your xaml code well, you can hold Alt key to select and cut Grid.Row="x" in every line and hold Alt key to select and paste them one line down.
eg.
you want to move
<TextBlock Grid.Row="3" Text="d"/>
to the top. Just hold "Alt" key to select and copy:Use Alt key again to paste them to replace the original
so you well get
Then just move
<TextBlock Grid.Row="3" Text="d"/>
to the top and change itGrid.Row
to 0听起来你最好使用
ListBox
或ListView
。It sounds like you'd be better off using a
ListBox
orListView
.