有没有简单的方法来装饰VirtualizingStackPane
l?如果我将VirtualizingStackPanel
直接放在ScrollViewer
中,虚拟化就会起作用。我的目标是覆盖Decorator.OnRender()
方法并在Panel
后面绘制一些几何图形。
<Window.Resources>
<ControlTemplate x:Key="MyControlTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ScrollViewer CanContentScroll="True">
<Border> <!--Decorator breaks virtualization-->
<VirtualizingStackPanel IsItemsHost="True"/>
</Border>
</ScrollViewer>
</Grid>
</ControlTemplate>
</Window.Resources>
<ItemsControl x:Name="MyControl" Template="{StaticResource MyControlTemplate}"/>