2012-12-31 32 views
5

我無法讓我的長列表選擇器正常工作。當列表比屏幕高時,長列表選擇器保持靜態,我無法滾動查看所有項目。LongListSelector不滾動

有什麼想法?

<phone:PivotItem Header="{Binding Path=LocalizedResources.ApplicationsHeader, Source={StaticResource LocalizedStrings}}" x:Name="applicationsPivotItem"> 
    <Grid x:Name="applications" Grid.Row="1"> 
     <phone:LongListSelector x:Name="MainLongListSelector" ItemsSource="{Binding Items}" SelectionChanged="MainLongListSelector_SelectionChanged"> 
      <phone:LongListSelector.ItemTemplate> 
       <DataTemplate> 
        <StackPanel> 
         <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
         <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
        </StackPanel> 
       </DataTemplate> 
      </phone:LongListSelector.ItemTemplate> 
     </phone:LongListSelector> 
    </Grid> 
</phone:PivotItem> 

回答

8

修復的電網

<Grid x:Name="applications" Grid.Row="1" Height="400"> 
...long list code... 
</Grid> 
+3

這通常不符合創建響應式設計的指導原則嗎?在不同分辨率的設備上運行應用程序時,設置這樣明確的高度可能會導致UI奇怪。 –

7

我也有類似的問題,即我的panoramaItem是高度定義如下:

  <phone:PanoramaItem> 
       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="Auto"/> 
        </Grid.RowDefinitions> 

        <phone:LongListSelector x:Name="SpeciesList" Grid.Row="0"> 
         <phone:LongListSelector.ItemTemplate> 
          <DataTemplate> 
           <StackPanel Margin="0,-6,0,12"> 
            <TextBlock Text="{Binding PrimaryName}"/> 
           </StackPanel> 
          </DataTemplate> 
         </phone:LongListSelector.ItemTemplate> 
        </phone:LongListSelector> 
       </Grid> 
      </phone:PanoramaItem> 

通過改變RowDefinition用*代替汽車,我的滾動問題已解決!如下所示。

    <Grid.RowDefinitions> 
         <RowDefinition Height="*"/> 
        </Grid.RowDefinitions> 
+0

這是比接受的答案更好的解決方案。 – Aaron

+0

奇妙的馬蒂亞斯! – gcoleman0828

1

我有與LongListSelector不滾動相同的問題。最後是在LongListSelector中設置的OpacityMask =「White」,導致問題as per this question

同樣根據Mattias,我沒有設置特定高度,只要將網格RowDefinition設置爲* 。