タイムラインのTreeView

VirtualizingStackPanel

VirtualizingStackPanel

<TreeView ItemTemplate="{StaticResource StatusDataTemplate}" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.CanContentScroll="True" BorderThickness="0" Background="Transparent" x:Name="listContent" 
		 VirtualizingStackPanel.VirtualizationMode="Standard" VirtualizingStackPanel.IsVirtualizing="False"  ScrollViewer.PanningMode="VerticalOnly" ScrollViewer.PanningDeceleration="5" IsManipulationEnabled="True">
	<!–  VirtualizingStackPanel.IsVirtualizing="True" –>
	<TreeView.Resources>
		<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarButtonHeightKey}">60</sys:Double>
	</TreeView.Resources>
	<TreeView.ItemsPanel>
		<ItemsPanelTemplate>
			<VirtualizingStackPanel />
		</ItemsPanelTemplate>
	</TreeView.ItemsPanel>
	<TreeView.ItemContainerStyle>
		<Style TargetType="{x:Type TreeViewItem}">
			<EventSetter Event="MouseDown" Handler="OnItemMouseDown" />
			<Setter Property="Template">
				<Setter.Value>
					<ControlTemplate TargetType="{x:Type TreeViewItem}">
						<ContentPresenter x:Name="PART_Header" ContentSource="Header" />
					</ControlTemplate>
				</Setter.Value>
			</Setter>
			<Setter Property="Width">
				<Setter.Value>
					<Binding Path="ActualWidth" 
						RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollContentPresenter}}" />
				</Setter.Value>
			</Setter>
		</Style>
	</TreeView.ItemContainerStyle>
</TreeView>