@RicardoGonsales

Как лучше организовать верстку в WPF?

Здравствуйте!
Опыт верстки в WPF у меня минимальный, т.е. разумеется, я знаю, как нарисовать окно, в нем сетку-grid, и на ней кнопки, но именно как лучше верстать относительно сложный интерфейс - с этим проблемы.
Технически мне надо меню с множеством опций - радиобаттонов, чекбоксов, вкладок, выпадающих списков, кнопок.

Поначалу я рисовал все кнопки, чекбоксы и т.п. графически. Однако когда мне понадобилось переместить группу элементов, то почему-то начала при обводе рамкой выделяться не группа элементов на вкладке, а сама вкладка. В итоге я стал рисовать тупо в xaml, накрутив кучу grid-ов, в которых рассовал элементы. Однако в итоге я получил продукт, который, судя по всему, так и придется далее верстать в xaml

Например, я сверстал вот такое убожество.

5e71f6e941da7640216224.png
Сразу вопросы:
правильно ли было так делать, или стоило как-то по-другому?
Фрагмент кода одного из элементов (все не вставляется почему-то, 10 тыс. символов ограничение)
spoiler
<Grid Width="800" HorizontalAlignment="Left" Grid.Row="0" Grid.ColumnSpan="2">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="15*"/>
                                <RowDefinition Height="15*"/>
                                <RowDefinition Height="15*"/>
                                <RowDefinition Height="15*"/>
                                <RowDefinition Height="15*"/>
                                <RowDefinition Height="15*"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="400"/>
                                <ColumnDefinition Width="400"/>
                            </Grid.ColumnDefinitions>
                            <TextBlock Text="Параметры одностороннего ОМП"      Height="20" Grid.Row="0"/>
                            <TextBlock Text="Ток в месте КЗ определяется через" Height="20" Grid.Row="1"/>
                            <RadioButton Name="rbtn_setKf"  Content="Kfав (чисто аварийный ток КЗ фазы)" Grid.Row="2" />
                            <RadioButton Name="rbtn_setKf1" Content="Kf1ав (чисто аварийный ток прямой последовательности)" Grid.Row="3"/>
                            <RadioButton Name="rbtn_setK2"  Content="Kf2 (ток обратной последовательности)" Grid.Row="4"/>
                            <RadioButton Name="rbtn_setK0"  Content="Kf0 (ток нулевой последовательности, возможна низкая точность)" Grid.Row="5"/>
                            <CheckBox Name="chbx_setMultipleShots" Content="ОМП по серии значений послеаварийного тока" Grid.Row="1" Grid.Column="1"/>
                        </Grid>
  • Вопрос задан
  • 372 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы