Как я мешаю WPF GridSplitter изменять размер моей Сетки?

Вы можете подключить свой хост к vagrant ssh, после этого перейдите в местоположение вашего проекта с помощью CL и выполните команду: php artisan config:cache, чтобы восстановить конфигурацию. Надеюсь, что это поможет вам!

6
задан 11 revs 23 May 2017 в 10:29
поделиться

2 ответа

Если Ваше Окно изменено так, его Ширина является меньше, чем сумма MinWidths Ваших столбцов, Вы проводите сокращение столбцов, но иначе я не могу воспроизвести Вашу проблему:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition MinWidth="150" Width="*"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition MinWidth="400" Width="*"/>
        </Grid.ColumnDefinitions>
        <GridSplitter
            Width="2"
            Grid.Column="1"
            HorizontalAlignment="Center"
            Margin="0,5,0,5"
            Panel.ZIndex="1"
            VerticalAlignment="Stretch"
            ResizeBehavior="BasedOnAlignment"
            ResizeDirection="Columns"/>
        <Grid Grid.Column="0">
            <Border Background="Red" Margin="5"/>
        </Grid>
        <Grid Grid.Column="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition MinWidth="150" Width="*"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition MinWidth="200" Width="*"/>
            </Grid.ColumnDefinitions>
            <GridSplitter
                Width="2"
                Grid.Column="1"
                HorizontalAlignment="Center"
                Margin="0,5,0,5"
                Panel.ZIndex="1"
                VerticalAlignment="Stretch"
                ResizeBehavior="PreviousAndNext"
                ResizeDirection="Columns"/>
            <Grid Grid.Column="0">
                <Border Background="Green" Margin="5"/>
            </Grid>
            <Grid Grid.Column="2">
                <Border Background="Blue" Margin="5"/>
            </Grid>
        </Grid>
    </Grid>
</Window>

Разворачивая красный столбец, это только расширится, пока правый столбец не достигает своего MinWidth 400, это не загрузит его от страницы.

Возможно, что Вы устанавливаете другие свойства Окна или наиболее удаленной Сетки, которая вызвала бы это поведение...

3
ответ дан 8 December 2019 в 16:12
поделиться

Попытайтесь изменить свою Ширину на звездообразные размеры. Это заставит разделитель только изменять размер столбцов, между которыми он находится, таким образом, не уверенный, если это - Ваше желаемое поведение. Однако со звездообразными размерами, содержание не вырастет вне границ окна.

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2*" MinWidth="100" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" MinWidth="50" />
        <ColumnDefinition Width="2*" MinWidth="100" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="3*" MinWidth="150" />
    </Grid.ColumnDefinitions>
    <GridSplitter 
        ResizeDirection="Columns"
        Grid.Column="1"
        Grid.RowSpan="8"
        HorizontalAlignment="Center"
        VerticalAlignment="Stretch"
        Width="2"
        Margin="0,5,0,5"
        Panel.ZIndex="1"/>
    ...
</Grid>
7
ответ дан 8 December 2019 в 16:12
поделиться
Другие вопросы по тегам:

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