次のコードを逆にしますListBox
(アイテムは下から上に配置されます):
<ListBox HorizontalContentAlignment="Stretch">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VerticalAlignment="Bottom" Orientation="Vertical">
<VirtualizingStackPanel.LayoutTransform>
<ScaleTransform ScaleX="1" ScaleY="-1" />
</VirtualizingStackPanel.LayoutTransform>
</VirtualizingStackPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="LayoutTransform">
<Setter.Value>
<ScaleTransform ScaleX="1" ScaleY="-1" />
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
いくつかのアイテムを追加すると、スクロールバーが間違っていることがわかります (オリジナルではなく反転)。スクロールバーをコンテンツのように変換するにはどうすればよいですか? ところで、 ScrollViewer.CanContentScroll="False"
ListBoxに設定すると、スクロールは問題ありません。しかし、仮想化は失われます。