Wpf ListBox内部的ListBox虚拟化

Wpf ListBox内部的ListBox虚拟化,wpf,xaml,virtualization,Wpf,Xaml,Virtualization,ListBox将子ListBox作为一个项。虚拟化在父listBox上非常有效,但要求在子listBox上激活虚拟化,子listBox不应具有滚动条。可能吗 设置内部列表框的Height或MaxHeight属性,以及要禁用滚动条的ScrollViewer.VerticalScrollBarVisibility附加属性。以下示例在两个列表框中使用UI虚拟化: public partial class MainWindow : Window { public MainWindow()

ListBox将子ListBox作为一个项。虚拟化在父listBox上非常有效,但要求在子listBox上激活虚拟化,子listBox不应具有滚动条。可能吗

设置内部
列表框的
Height
MaxHeight
属性,以及要禁用滚动条的
ScrollViewer.VerticalScrollBarVisibility
附加属性。以下示例在两个
列表框中使用UI虚拟化:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        var outer = Resources["outer"] as CollectionViewSource;
        outer.Source = Enumerable.Range(1, 100);

        var inner = Resources["inner"] as CollectionViewSource;
        inner.Source = Enumerable.Range(1, 100);
    }
}
XAML:

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        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"
        xmlns:local="clr-namespace:WpfApp2"
        mc:Ignorable="d"
        Title="MainWindow" Height="300" Width="300">
    <Window.Resources>
        <CollectionViewSource x:Key="outer" />
        <CollectionViewSource x:Key="inner" />
    </Window.Resources>
    <Grid>
        <ListBox ItemsSource="{Binding Source={StaticResource outer}}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <ListBox ItemsSource="{Binding Source={StaticResource inner}}" 
                             MaxHeight="100" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Window>


您的MCVE在哪里?刚接触stack overflow,现在我知道了什么是MCVE感谢您让我知道。一旦您的问题得到解决,请记住接受并投票选出有用的答案: