如何提高Silverlight滚动查看器的速度?

如何提高Silverlight滚动查看器的速度?,silverlight,scrollviewer,Silverlight,Scrollviewer,我的Silverlight客户端中有一个ScrollViewer,显示选定类别中的项目列表。选中时,项目的大小会更改。在正常情况下,ScrollViewer工作正常,但其中一个类别有近300项。选择此类别时,ScrollViewer几乎无法使用。它正在呈现列表中的所有内容吗?有没有办法加快速度 我找到了一个可能有帮助的解决方案: <!-- This needs to be contained in a parent panel like a grid --> <ListBox

我的Silverlight客户端中有一个
ScrollViewer
,显示选定类别中的项目列表。选中时,项目的大小会更改。在正常情况下,
ScrollViewer
工作正常,但其中一个类别有近300项。选择此类别时,
ScrollViewer
几乎无法使用。它正在呈现列表中的所有内容吗?有没有办法加快速度

我找到了一个可能有帮助的解决方案:

<!-- This needs to be contained in a parent panel like a grid -->
<ListBox x:Name="Items" >
    <ListBox.Template>
        <ControlTemplate> <!-- Broke it out to allow resizing -->
            <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
                <ItemsPresenter/> <!-- This little fella does magical things -->            
            </ScrollViewer>         
        </ControlTemplate>      
    </ListBox.Template>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel VirtualizingStackPanel.VirtualizationMode="Recycling"/>  <!-- Recycle was a must -->        
        </ItemsPanelTemplate>       
    </ListBox.ItemsPanel>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <HyperlinkButton  VerticalAlignment="Top" Margin="5" />
                <!-- This guy I did need to set a minwidth on to retain nice and predictable scrolling  when datacontext was potentially changing -->
                <ContentControl cal:View.Model="{Binding}" MinWidth="1160" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" />
            </StackPanel>
        </DataTemplate>         
    </ListBox.ItemTemplate>           
</ListBox>


我认为它应该对您有所帮助:-请尝试写下实际的答案,而不仅仅是链接。