Morpheus_God
@Morpheus_God

Как правильно разметить окно в WPF разметке?

Добрый день. Взялся за изучение разметки WPF, пробую разметить простое окно и столкнулся с неприятной вещью, окно когда разворачивается на все окно, то элементы на форме увеличиваются в размере.
В моем случае это кнопки и комбобоксы, хотелось бы, оставить кнопки прежнего размера а под увеличения попали бы текстовые поля. Еще проблема с лейблом, я пытаюсь сделать отступы как у текстбокса по 10 пикселей от края формы, текстбокс правильно отступ показывает а лейбл дальше уезжает. Скриншот приложил.
5a23fdf825bbe239166306.png
Код самой разметки:
<Grid>
        <Grid.RowDefinitions >
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Menu Height="25" VerticalAlignment="Top" Background="White">
            <MenuItem Header="Файл">
                <MenuItem Header="Печать" ></MenuItem>
                <Separator />
                <MenuItem Header="Выход" ></MenuItem>
            </MenuItem>
            <MenuItem Header="Режим" >
                <MenuItem Header="PS4"/>
                <MenuItem Header="XboxOne" />
            </MenuItem>
            <MenuItem Header="О программе" ></MenuItem>
        </Menu>
        <ComboBox
            Grid.Column="0"
            Margin="10,80,50,30"
            />
        <ComboBox
            Grid.Column="1"
            Margin="10,80,50,30"
            />
        <Label
            Grid.Row="0"
            Margin="10,105,0,0"
            Content="Поле ввода:"/>
        <Label
            Grid.Row="2"
            Margin="10,105,0,0"
            Content="Результат:"/>
        <TextBox 
            Grid.Row="1"
            Grid.ColumnSpan="5"
            Margin="10,0,10,0"
            Text="Source"
        />
        <TextBox 
            Grid.Column="0"
            Grid.Row="3"
            Grid.ColumnSpan="5"
            Margin="10,0,10,0"
            Text="Result"/>
        <Button Grid.Column="4" Content="Convert" Grid.Row="4" Margin="0,10,10,90"/>
    </Grid>
  • Вопрос задан
  • 598 просмотров
Решения вопроса 1
lam0x86
@lam0x86
У тех колонок/строк, в которых находятся элементы с фиксированным размером, нужно проставить Auto в свойствах Width/Height.

<RowDefinition Height="Auto"></RowDefinition>
<ColumnDefinition Width="Auto"></RowDefinition>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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