none
wp7 ui虚拟化 RRS feed

  • 问题

  • ListBox本身支持ui虚拟化,但是我发现我修改ControlTemplate后就无效果了,我用VirtualizingStackPanel作为ControlTemplate的根容器也不行,修改ItemsPanelTemplate也还是不行;有没有解决办法,是不是只要修改了ControlTemplate,ListBox就不支持ui虚拟了
    2013年1月22日 12:30

答案

  • 你好,

    我测试了一下,ItemPresenter 必须是ScrollViewer的直接第一子项,但是ScrollViewer里只能有一个control[除去stackpanel,使用了stackpanel,那ItemPresenter 就不是ScrollViewer的直接第一子项了]

    我建议你可以使用Grid,比如:

                <ListBox x:Name="listboxTarget">
                    <ListBox.ItemTemplate>
                        <DataTemplate >
                            <StackPanel>
                                <TextBlock Text="{Binding Name}" FontSize="26" Height="40"></TextBlock>
                                <TextBlock Text="{Binding Comment}" FontSize="13" Margin="20,0,0,0" Height="40"></TextBlock>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                    <ListBox.Template>
                        <ControlTemplate VirtualizingStackPanel.VirtualizationMode="Standard">
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition></RowDefinition>
                                    <RowDefinition></RowDefinition>
                                </Grid.RowDefinitions>
                                <ScrollViewer   VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Visible">
    
                                    <ItemsPresenter>
                                    </ItemsPresenter>
    
                                </ScrollViewer>
                                <TextBox Text="testing" Grid.Row="1"/>
                            </Grid>
                                
                            
                        </ControlTemplate>
                    </ListBox.Template>
    
                </ListBox>


    Mark Yu - MSFT
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年1月25日 8:00
    版主