Sajeev C
Sajeev C

Reputation: 1538

StackPanel not scrolling in Windows Phone 8.1

I am building a Custom Control for Windows Phone 8.1. But the stackpanel is not scrolling down. StackPanel contains one ListView which shouws a TextBlock & another StackPanel which houses a Toggle Button.

<StackPanel Orientation="Vertical" >
        <ListView Grid.Row="0" Background="RoyalBlue">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <TextBlock Text="Some Text" Foreground="Black" FontSize="20" TextAlignment="Center" ></TextBlock>
                    </Grid>                     
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
        <StackPanel Grid.Row="2" HorizontalAlignment="Stretch" Background="Red" Orientation="Horizontal">
            <Grid HorizontalAlignment="Stretch">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <ToggleButton Grid.Column="0" Content="Toggle Me"  />
            </Grid>
       </StackPanel>
</StackPanel>

Upvotes: 2

Views: 2155

Answers (2)

cvsingh
cvsingh

Reputation: 106

Add ScrollViewer over the StackPanel and it will make it scrollable.

For Example:

<ScrollViewer Margin="12">
    <StackPanel>
        <TextBlock Text="content1" FontSize="48" />
        <TextBlock Text="content1" FontSize="48" />
    </StackPanel>
</ScrollViewer>

Upvotes: 1

Kai Brummund
Kai Brummund

Reputation: 3568

Stackpanel doesn't provide any scrolling. You can wrap it into a ScrollViewer.

Also: listView already provides Scrolling.

But: The ListView inside stackpanel will pick up all your manipulation events. Also, a ListView inside a Stackpanel will have infinite heigt and therefore loose it's virtualization capabilities.

If you just want to have content above and/below the ListView, maybe use its Header/Footer properties.

Upvotes: 5

Related Questions