VirtualizationTest.axaml代码
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="300" Width="300" Loaded="Window_Loaded" x:Class="AvaloniaUI.VirtualizationTest" Title="VirtualizationTest"> <Grid Margin="5" ColumnDefinitions="auto,*" RowDefinitions="auto,auto"> <TextBlock VerticalAlignment="Center">Slow ComboBox:</TextBlock> <!-- 非虚拟化 ComboBox --> <ComboBox Grid.Column="1" Margin="5" Name="lstSlow" /> <TextBlock Grid.Row="1" VerticalAlignment="Center">Fast ComboBox:</TextBlock> <!-- 启用虚拟化 ComboBox --> <ComboBox Grid.Row="1" Grid.Column="1" Margin="5" Name="lstFast"> <ComboBox.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel /> </ItemsPanelTemplate> </ComboBox.ItemsPanel> </ComboBox> </Grid> </Window>
VirtualizationTest.axaml.cs代码
using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
namespace AvaloniaUI;
public partial class VirtualizationTest : Window
{
public VirtualizationTest()
{
InitializeComponent();
}
private void Window_Loaded(object? sender, RoutedEventArgs e)
{
for (int i = 0; i < 10000; i++)
{
lstFast.Items.Add(i.ToString());
lstSlow.Items.Add(i.ToString());
}
}
}
运行效果

浙公网安备 33010602011771号