WP7 ListBox中的滚动不够流畅

3
我将尝试防止ListBox滚动。使用ScrollViewer.VerticalScrollBarVisibility看起来是很好的解决方案 - 滚动被防止了...... 但是!只要我在ListBox底部轻触,内容就会向下移动。我之前尝试了一个类似的主题,可以参考:重复问题(对不起,可能会影响到某些人)。
以下是我的代码:
<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>
2个回答

0
尝试在嵌套的列表框中设置属性IsHitTestVisible="False"以解决此问题,应该像这样:
 <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>

0
将列表框的垂直对齐属性设置为顶部。 不确定,但这可能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接