Silverlight: трудности с ScrollViewer (снова) - PullRequest
1 голос
/ 03 ноября 2010

Следующий XAML работает нормально:

<Grid x:Name="LayoutRoot" Background="Transparent">
         <ListBox x:Name="StoryListBox"/>
</Grid>

ListBox прокручивается соответствующим образом, когда на одном экране слишком много контента, чтобы поместиться на нем.

Однако я изменяю XAML следующим образом, и он ломается:

<Grid x:Name="LayoutRoot" Background="Transparent">

    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <TextBox x:Name="LoadingMessage"  Text="Loading..." Grid.Row="0" />
    <ListBox x:Name="StoryListBox" Grid.Row="0" />
    <Button x:Name="LoadMoreStories" Content="Load More Stories" Grid.Row="1" Visibility="Collapsed"/>

</Grid>

Теперь, ListBox прокручивается лишь чуть-чуть, несмотря на переполнение контента.

Как я все испортил?

Обновление : я также попробовал следующее, но оно все равно не работает:

<Grid x:Name="LayoutRoot" Background="Transparent">

    <StackPanel x:Name="Loading">
        <TextBox Text="Loading..." />
        <ProgressBar IsIndeterminate="True" Style="{StaticResource PerformanceProgressBar}" />
    </StackPanel>

    <ScrollViewer>
        <StackPanel>
            <ListBox x:Name="StoryListBox" />
            <Button x:Name="LoadMoreStories" Content="Load More Stories" Visibility="Collapsed"/>
        </StackPanel>
    </ScrollViewer>

</Grid>

У него та же проблема, что и ListBox, прокручивая только немного.

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Попробуйте вместо этого

    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
0 голосов
/ 03 ноября 2010

Он прокручивается правильно, но размер списка больше, чем страница.Попробуйте установить эксплицит размера.

           <StackPanel Orientation="Horizontal" Height="500">
            <TextBox x:Name="LoadingMessage"  Text="Loading..." Grid.Row="0" />
            <ListBox x:Name="StoryListBox" Grid.Row="0" >
                <ListBoxItem Content="a"></ListBoxItem>
                <ListBoxItem Content="b"></ListBoxItem>
                <ListBoxItem Content="c"></ListBoxItem>
                <ListBoxItem Content="d"></ListBoxItem>
                <ListBoxItem Content="e"></ListBoxItem>
                <ListBoxItem Content="f"></ListBoxItem>
                <ListBoxItem Content="g"></ListBoxItem>
                <ListBoxItem Content="h"></ListBoxItem>
                <ListBoxItem Content="i"></ListBoxItem>
                <ListBoxItem Content="j"></ListBoxItem>
                <ListBoxItem Content="k"></ListBoxItem>
                <ListBoxItem Content="l"></ListBoxItem>
                <ListBoxItem Content="1"></ListBoxItem>
                <ListBoxItem Content="2"></ListBoxItem>
                <ListBoxItem Content="3"></ListBoxItem>
                <ListBoxItem Content="4"></ListBoxItem>
                <ListBoxItem Content="5"></ListBoxItem>
                <ListBoxItem Content="6"></ListBoxItem>
                <ListBoxItem Content="7"></ListBoxItem>
                <ListBoxItem Content="8"></ListBoxItem>
                <ListBoxItem Content="9"></ListBoxItem>
                <ListBoxItem Content="10"></ListBoxItem>
                <ListBoxItem Content="11"></ListBoxItem>
                <ListBoxItem Content="12"></ListBoxItem>
                <ListBoxItem Content="13"></ListBoxItem>
                <ListBoxItem Content="14"></ListBoxItem>
            </ListBox>
           </StackPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...