2013-01-04 29 views
0

我有一个显示2组朋友(在线和离线)的LLS。我的问题是:当我开始滚动LLS时 - 它有两个变体:1)LLS滚动良好,2)它不滚动。当它不滚动时 - 我开始在不同的地方垂直滚动屏幕,并在屏幕的某个位置找到位置,LLS开始滚动。但!在第二次 - 在这个地方LLS不滚动,我再次尝试找到屏幕上LLS滚动的地方。它看起来像LLS的scrollviewer随机更改位置和大小。这里是我的LLS:在LongListSelector中滚动不良

 <controls:PanoramaItem Header="1"> 
      <Grid Height="500" > 
       <toolkit:LongListSelector Name="AllFriendsList" Height="500" Width="420" 
       ItemTemplate="{StaticResource citiesItemTemplate}" 
       ListHeaderTemplate="{StaticResource citiesListHeader}" 
       ListFooterTemplate="{StaticResource citiesListFooter}" 
       GroupHeaderTemplate="{StaticResource groupHeaderTemplate}" 
       GroupItemTemplate="{StaticResource groupItemTemplate}" > 
        <toolkit:LongListSelector.GroupItemsPanel> 
         <ItemsPanelTemplate> 
          <toolkit:WrapPanel/> 
         </ItemsPanelTemplate> 
        </toolkit:LongListSelector.GroupItemsPanel> 

       </toolkit:LongListSelector> 
      </Grid> 
     </controls:PanoramaItem> 

和风格:

<DataTemplate x:Key="citiesListHeader"> 
     <Border Background="Purple"> 
      <TextBlock Text="Cities Header" /> 
     </Border> 
    </DataTemplate> 
    <DataTemplate x:Key="citiesListFooter"> 
     <Border Background="Green"> 
      <TextBlock Text="Cities Footer" /> 
     </Border> 
    </DataTemplate> 

    <!-- The template for city items --> 
    <DataTemplate x:Key="citiesItemTemplate"> 
     <StackPanel Grid.Column="1" VerticalAlignment="Top"> 
      <Line Style="{StaticResource Line1}" ></Line> 
      <Line Style="{StaticResource Line2}" ></Line> 
      <TextBlock Margin="75,15,40,0" FontSize="30" Name="Name" Text="{Binding Name}" Tap="GetUserInfo" /> 
      <Image HorizontalAlignment="Left" Width="75" Name="Photo" > 
       <Image.Source> 
        <BitmapImage UriSource="{Binding Image}" CreateOptions="BackgroundCreation" /> 
       </Image.Source> 
      </Image> 
     </StackPanel> 
    </DataTemplate> 


    <!-- The group header template, for groups in the main list --> 
    <DataTemplate x:Key="groupHeaderTemplate"> 
     <Border Background="YellowGreen" Margin="6"> 
      <TextBlock Text="{Binding Title}" FontSize="40" Foreground="Black"/> 
     </Border> 
    </DataTemplate> 

    <DataTemplate x:Key="groupItemTemplate" > 
     <Border Background="YellowGreen" Width="99" Height="99" Margin="6"> 
      <TextBlock Text="{Binding Title}" FontSize="40" Foreground="Black"/> 
     </Border> 
    </DataTemplate> 

我没有改变控件的名字,我tooked他们here

回答

0

问题在于该滚动仅适用于控件。因此,如果我将鼠标放在图像或文本块上,它会滚动到正确的位置(我的LLS没有任何控件时会出现空白的地方),当我尝试在空白处滚动时,它不会滚动。

0

在您的DataTemplate中的StackPanel上放置一个透明背景。即使它们是透明的,命中测试系统也必须使用像素。但是,不要疯狂地添加背景,否则你的帧频会下降。

相关问题