在 WPF 中创建一个带有 VerticalScroll 和圆角的 ListView

Create a ListView with VerticalScroll and Rounded corners in WPF

我有一个列表视图,其中填充了 xml 文件中的数据。 我希望这个列表有一个滚动和圆角,当我用它可以显示的更多元素填充它时,滚动会自动出现:

ListView x:Name="Scent_Edit" SelectionMode="Single" Height="283" Margin="0,7,0,0" SelectedIndex="{Binding CurrentDelete, Mode=OneWayToSource}" SelectedItem="{Binding ToDelete, Mode=OneWayToSource}" IsEnabled="{Binding EditEnabled}">             
        </ListView>

但是如果我添加代码以具有圆角,则滚动永远不会出现:

ListView x:Name="Scent_Edit" SelectionMode="Single" Height="283" Margin="0,7,0,0" SelectedIndex="{Binding CurrentDelete, Mode=OneWayToSource}" SelectedItem="{Binding ToDelete, Mode=OneWayToSource}" IsEnabled="{Binding EditEnabled}">
            <ListView.Template>
                <ControlTemplate>
                    <Border CornerRadius="4" BorderThickness="1" BorderBrush="Black">
                        <ItemsPresenter></ItemsPresenter>
                    </Border>
                </ControlTemplate>
            </ListView.Template>
        </ListView>

有没有办法在列表视图上同时拥有滚动角和圆角?

提前致谢

ScrollViewer 是默认模板的一部分。 ItemsPresenter 只是 ItemsPanel 所有项目。它不包括 ScrollViewer。如果改Template,需要滚动,需要手动添加

<ListView x:Name="Scent_Edit" ...>
   <ListView.Template>
      <ControlTemplate TargetType="{x:Type ListView}">
         <Border CornerRadius="4" BorderThickness="1" BorderBrush="Black">
            <ScrollViewer>
               <ItemsPresenter/>
            </ScrollViewer>
         </Border>
      </ControlTemplate>
   </ListView.Template>
</ListView>