none
如何关闭GridView中的虚化? RRS feed

  • 问题

  • 我将 GridView的ItemsPanel 的projection 更改之后

    发现拖动列表 这些项目并不会跟着 pointer 平滑移动。 像在拖动截图一样

    但是当用鼠标滚轮操作的时候 又很正常。

    请问如何解决该问题? 我需要一个拖动类似3d列表的解决方法

     <ItemsPanelTemplate x:Key="SecondaryItemsPanel">
                <WrapGrid MaximumRowsOrColumns="3" Orientation="Vertical" ItemHeight="230"
                          ItemWidth="230" x:Name="gvItemsPanel">
                    <WrapGrid.Projection>
                        <PlaneProjection RotationY="-20">
                        </PlaneProjection>
                    </WrapGrid.Projection>
                </WrapGrid>
                <!--<Control:TiltPicturePanel Orientation="Horizontal"></Control:TiltPicturePanel>-->
            </ItemsPanelTemplate>

     <GridView 
                        x:Name="gvZoomIn"                  
                        ScrollViewer.IsHorizontalScrollChainingEnabled="True" 
                        SelectedItem="{Binding SelectedSecondaryItem, Mode=TwoWay}"
                        IsItemClickEnabled="True"
                        ItemsPanel="{StaticResource SecondaryItemsPanel}" 
                        ItemTemplate="{StaticResource SecondaryZoomInItem}"
                        ItemsSource="{Binding SecondaryList}"
                        ScrollViewer.HorizontalScrollBarVisibility="Visible"
                        Padding="400,200,0,10" CanDragItems="True"                   
                        >
                        <GridView.ItemContainerTransitions>
                            <TransitionCollection>
                                <EntranceThemeTransition/>
                            </TransitionCollection>
                        </GridView.ItemContainerTransitions>
                        <i:EventToCommandCollection.Items>
                            <!--<i:EventToCommand Event="ItemClick" Command="{Binding ItemClick, Mode=OneWay}"/>-->
                        </i:EventToCommandCollection.Items>
                    </GridView>


    非常荣幸成为.net 开发者

    2012年11月26日 3:57

答案

  • 可以在代码中调用:

    gvZoomIn.SetValue(VirtualizingStackPanel.IsVirtualizingProperty, false);

    来修改值. 不过不建议取消虚拟化功能。不太清楚你的需求,你可以尝试VirtualizingStackPanel.Virtualization的模式。

    Thanks! Damon.Tian


    2012年11月26日 6:43

全部回复