网格虚拟化为项目面板模板

时间:2014-05-05 06:17:44

标签: wpf

有没有办法将Grid实现虚拟化作为项目控件的项目面板模板

我的要求是需要以表格格式显示数据,因此我使用网格作为项目面板模板。因为我没有使用virtualstackpanel虚拟化不起作用。

<ItemsControl ItemsSource="{Binding ChildElements}">    
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Grid>
                <Grid.Tag>
                    <MultiBinding Converter="{StaticResource DecisionTableConditionStepsInitConveter}">
                        <Binding RelativeSource="{RelativeSource Self}" />
                        <Binding Path="StepModel.RowCount" />
                        <Binding Path="StepModel.ColCount" />
                    </MultiBinding>
                </Grid.Tag>
            </Grid>                                        
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style TargetType="{x:Type FrameworkElement}">
            <Setter Property="Grid.Row" Value="{Binding RowIndex}" />
            <Setter Property="Grid.RowSpan" Value="{Binding RowSpan}" />
            <Setter Property="Grid.ColumnSpan" Value="{Binding ColSpan}" />
            <Setter Property="Grid.Column" Value="{Binding ColIndex}" />
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>

由于我的数据是巨大的(120行,110列),因此需要花费很多时间来渲染。任何人都可以帮助改善我的要求。

0 个答案:

没有答案