Список, выходящий за пределы страницы - PullRequest
2 голосов
/ 30 ноября 2010

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

Вот мой код:

<Border x:Name="articlePane">
                <StackPanel>
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Top">
                        <Button Content="Latest" MouseEnter="HandleRollInAnimation" MouseLeave="HandleRollOutAnimation" />
                        <Button Content="Pending" MouseEnter="HandleRollInAnimation" MouseLeave="HandleRollOutAnimation" />
                        <Button Content="Done" MouseEnter="HandleRollInAnimation" MouseLeave="HandleRollOutAnimation" />
                    </StackPanel>
                    <ListBox x:Name="articleList" Margin="5" Background="Transparent" ItemsSource="{Binding}" 
                             ScrollViewer.VerticalScrollBarVisibility="Visible">
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Vertical" VerticalAlignment="Top" HorizontalAlignment="Center">
                                    <Image x:Name="articleImage" />
                                    <TextBlock x:Name="articleTitle" Text="{Binding Path=Title}" FontSize="18" FontWeight="Bold"
                                               Margin="5"/>
                                    <TextBlock x:Name="articleDate" Text="{Binding Path=Date}" FontSize="14" Foreground="Gray"
                                               Margin="5"/>
                                </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>
                </StackPanel>
            </Border>

1 Ответ

3 голосов
/ 30 ноября 2010

У меня такое ощущение, что StackPanel просто продолжает увеличивать высоту вечно. Я думаю, что в этом случае вам было бы лучше с макетом сетки внутри вашей границы. Поместите Button StackPanel в одну строку, определяемую высотой, а ListBox в строку высоты * с автоматическим изменением размера. Таким образом, Сетка останется в пределах вашей формы.

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