リストビュー/グリッドビューにパフォーマンスの問題があります。
仮想化されていないビューまでたどり着きました。ビジネス クリティカルなコードをすべて削除したところ、次の XAML が残りました。
<UserControl x:Class="Weingartner.Controls.PointListEditorView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
x:Name="Root">
<Grid>
<ListView ItemsSource="{Binding ElementName=Root, Path=Points, Mode=OneWay}">
<ListView.View>
<GridView >
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Label>Foo</Label>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</UserControl >
ビジュアルデバッガーを見ると、これが表示されます
ListViewItemインスタンスは、データの完全なリスト(約 800 ポイント) に対して継続します。
ListViewItem オブジェクトのいずれかを開くと、以下のように完全に設定されていることがわかります
私が理解している限り、ドキュメントによると、ListBox と ListView の仮想化はデフォルトでオンになっています。これは正しいです?
助言がありますか?