WInUI3 ListView 项目在选择时不显示边框

问题描述 投票:0回答:1

我正在尝试创建一个 ListView,在选择项目时显示项目(图像)周围的边框,但没有成功。我正在设置

SelectedBorderThickness
,但没有任何变化。 可能是什么问题?

这是代码:

<ListView x:Name="ListViewName"
          Grid.Row="1"
          Grid.Column="0"
          ScrollViewer.HorizontalScrollMode="Enabled"
          ScrollViewer.HorizontalScrollBarVisibility="Visible"
          ScrollViewer.IsHorizontalRailEnabled="True"
          SelectionMode="Multiple"
          SelectionChanged="OnSelectionChanged"
          AllowDrop="True"
          CanDragItems="True"
          CanReorderItems="False"
          DragItemsStarting="OnDragStarted">
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Margin"
                    Value="0" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListViewItem">
                        <ListViewItemPresenter x:Name="Root"
                                               SelectionCheckMarkVisualEnabled="False"
                                               CheckHintBrush="#FF0000"
                                               CheckBoxBrush="#00000000"
                                               ContentTransitions="{TemplateBinding ContentTransitions}"
                                               DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
                                               DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
                                               FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}"
                                               FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}"
                                               PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
                                               PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
                                               PointerOverForeground="{ThemeResource SystemControlForegroundBaseHighBrush}"
                                               PressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}"
                                               DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
                                               DragOpacity="1"
                                               ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
                                               HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                               VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                               ContentMargin="1"
                                               CheckMode="Overlay"
                                               BorderThickness="3"
                                               BorderBrush="#FF0000"
                                               SelectedBorderThickness="2"
                                               SelectedBorderBrush="#FF0000"></ListViewItemPresenter>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <ItemsStackPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
    <ListView.ItemTemplate>
        <DataTemplate x:DataType="local:Data">
            <Image Source="{x:Bind FullPath}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
user-interface uwp winui-3 windows-app-sdk
1个回答
0
投票

有一个已知的问题

ListViewItemPresenter
,似乎有些属性被忽略了。

您可以尝试新的

ItemsView
控件。默认情况下,所选项目带有边框。

<ItemsView ItemsSource="{x:Bind ViewModel.Items}" />
© www.soinside.com 2019 - 2024. All rights reserved.