简体   繁体   中英

Not enough prevented scrolling in WP7 ListBox

I'm trying to prevent scrolling in ListBox. Using ScrollViewer.VerticalScrollBarVisibility looks like great solution - scrolling is prevented... BUT! Content is shifted downward just I tap at the bottom side of the ListBox. I'm trying to ask in similarly topic before duplicated issue (sorry, whom it may concern).

Here is my code:

<StackPanel     Orientation="vertical">         
    <Grid Height="130" >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>


        <Image   Grid.Column="0"  x:Name="itemIco1" Width="120" Height="120" HorizontalAlignment="Left" 
                    Source="{Binding ImageURL}" 
                    Stretch="Fill" CacheMode="BitmapCache" VerticalAlignment="Top" Margin="0,5,5,0" Visibility="Visible"/>  

        <ListBox  Grid.Column="1" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
            <ListBox.ItemContainerStyle>
                <Style TargetType="ListBoxItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>

                </Style>
            </ListBox.ItemContainerStyle>
            <TextBlock   
                        Name="TextBlockTitle" 
                        Margin="0,0,0,0" 
                        FontSize="26" FontFamily="Segoe WP Semilight"  Foreground="{Binding TitleColor}"
                        TextTrimming="WordEllipsis" TextWrapping="Wrap"
                        Width="Auto" Height="auto" MaxHeight="96" VerticalAlignment="Top"  FontWeight="{Binding Font}" Text="{Binding Title}" />

            <TextBlock 
                        Name="TextBlockBody" 
                        Margin="0,0,0,0" 
                        FontSize="26" FontFamily="Segoe WP Semilight" Foreground="#FF5C5A5A" 
                        TextTrimming="WordEllipsis" TextWrapping="Wrap"
                        Width="Auto" Height="auto" MaxHeight="100" VerticalAlignment="Top" Text="{Binding Body}" FontWeight="{Binding Font}"/>              
        </ListBox>      
    </Grid>
    <TextBlock x:Name="date" Height="16" Text="{Binding Date}" TextWrapping="Wrap" Margin="0,0,0,0" FontSize="16" FontFamily="Segoe WP Semilight"  FontWeight="{Binding Font}" Foreground="Black" HorizontalAlignment="Right" VerticalAlignment="Bottom"/>

</StackPanel>

Set the vertical alignment property of the listbox to Top. not sure though, but this might help.

To resolve this issue try to set property IsHitTestVisible="False" in nested listbox, so it should be like this:

 <ListBox IsHitTestVisible="False" Grid.Column="1" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
                                        <ListBox.ItemContainerStyle>
                                            <Style TargetType="ListBoxItem">
                                                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                                            </Style>
                                        </ListBox.ItemContainerStyle>
                                        <TextBlock  x:Name="TextBlockTitle" Margin="0,0,0,0" FontSize="26" FontFamily="Segoe WP Semilight"  Foreground="{Binding TitleColor}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Width="Auto" Height="auto" MaxHeight="96" VerticalAlignment="Top"  FontWeight="{Binding Font}" Text="{Binding NewsTitle}" />
                                        <TextBlock x:Name="TextBlockBody" Margin="0,0,0,0" FontSize="26" FontFamily="Segoe WP Semilight" Foreground="#FF5C5A5A" TextTrimming="WordEllipsis" TextWrapping="Wrap" Width="Auto" Height="auto" MaxHeight="100" VerticalAlignment="Top" Text="{Binding NewsBody}" FontWeight="{Binding Font}"/>
                                    </ListBox>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM