Проблема с контролем заполнения - PullRequest
0 голосов
/ 01 сентября 2010

У меня проблема с контролем заполнения.

В первом столбце у меня есть стекпанель, и она имеет 4 элемента управления.Каждый ScrollViewer как DataContext имеет TreeView, для которого для высоты установлено значение Auto.Когда я расширяю узлы в моих обзорах, он расширяется за пределы окна.Как я могу это исправить?

<Grid x:Name="MainGrid">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width=".30*"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width=".69*"/>
        </Grid.ColumnDefinitions>
        <Border CornerRadius="0" BorderBrush="#58290A"
              BorderThickness="5" Grid.Column="0" >
            <StackPanel MaxHeight="{Binding Height, ElementName=MainGrid}">

                    <ScrollViewer x:Name="ScrollViewerForOperationTree">
                    </ScrollViewer>

                <Button Content="Dodaj brakujący hotel" Click="AddHotel_Click" x:Name="btnAddHotel">
                </Button>
                <Button Content="Dodaj brakujące miasto" Click="AddCity_Click" x:Name="AddCity"></Button>
                <ScrollViewer x:Name="ScrollViewerForSimpleTree"></ScrollViewer>
            </StackPanel>
        </Border>
        <GridSplitter HorizontalAlignment="Right" 
                  VerticalAlignment="Stretch" 
                  Grid.Column="1" ResizeBehavior="PreviousAndNext"
                  Width="5" Background="#FFBCBCBC"/>
        <Grid Grid.Column="2" Background="#B5CBEF" x:Name="GridObjectOperation">
        </Grid>
    </Grid>

1 Ответ

1 голос
/ 01 сентября 2010

StackPanel предоставит своим дочерним элементам столько вертикального пространства, сколько они запрашивают, даже если их недостаточно, поэтому более поздние элементы будут выпадать из конца.Попробуйте вместо этого использовать сетку:

<Border CornerRadius="0" BorderBrush="#58290A"
        BorderThickness="5" Grid.Column="0" >
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <ScrollViewer Grid.Row="0" x:Name="ScrollViewerForOperationTree">
        </ScrollViewer>

        <Button Grid.Row="1" Content="Dodaj brakujący hotel"
                Click="AddHotel_Click" x:Name="btnAddHotel">
        </Button>
        <Button Grid.Row="2" Content="Dodaj brakujące miasto"
                Click="AddCity_Click" x:Name="AddCity"></Button>
        <ScrollViewer Grid.Row="3" x:Name="ScrollViewerForSimpleTree">
        </ScrollViewer>
    </Grid>
</Border>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...