Простой способ изменить Grid.Row и Grid.Column во многих элементах управления в WPF - PullRequest
2 голосов
/ 15 августа 2011

У меня такая ситуация уже 1000 раз: у меня сетка с 2 столбцами и множеством строк.В основном у меня есть TextBlock в первом столбце и TextBox во втором, но не всегда.Теперь, когда у меня 50 строк, и я решил переместить строку 49 на первую строку в сетке, и я не хочу менять строки, я хочу вставить ее на первое место.Затем мне нужно изменить значения Grid.Row и Grid.Column всех остальных элементов управления.Это сводит меня с ума.Как я могу сделать это проще?

Ответы [ 3 ]

0 голосов
/ 15 августа 2011

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

0 голосов
/ 15 августа 2011

Похоже, вам лучше использовать ListBox или ListView.

0 голосов
/ 15 августа 2011

Если вы правильно отформатировали свой код xaml, вы можете удерживать клавишу Alt , чтобы выбрать и вырезать Grid.Row = "x" в каждой строке, и удерживать клавишу Alt , чтобы выбрать ивставьте их на одну строку вниз.

например.

<TextBlock Grid.Row="0" Text="a"/>
<TextBlock Grid.Row="1" Text="b"/>
<TextBlock Grid.Row="2" Text="c"/>
<TextBlock Grid.Row="3" Text="d"/>

, которые вы хотите переместить <TextBlock Grid.Row="3" Text="d"/> наверх.Просто нажмите и удерживайте клавишу " Alt ", чтобы выбрать и скопировать:

Grid.Row="1"
Grid.Row="2"
Grid.Row="3"

Используйте Alt еще раз, чтобы вставить их, чтобы заменить оригинал

Grid.Row="0"
Grid.Row="1"
Grid.Row="2"

, чтобы вы хорошо получили

<TextBlock Grid.Row="1" Text="a"/>
<TextBlock Grid.Row="2" Text="b"/>
<TextBlock Grid.Row="3" Text="c"/>
<TextBlock Grid.Row="3" Text="e"/>

Затем просто переместите <TextBlock Grid.Row="3" Text="d"/> на вершину и измените его Grid.Row на 0

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