C#UWP ListView删除所有视觉效果 [英] C# UWP ListView remove all visual effects

查看:139
本文介绍了C#UWP ListView删除所有视觉效果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在UWP中,我有一个列表视图.

In UWP I have a listview.

XAML:

 <Grid Background="Gray">
    <ListView Name="lvMain" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="120" ItemsSource="{x:Bind ItemsList, Mode=OneWay}">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <ItemsStackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListView.ItemTemplate>
            <DataTemplate x:DataType="x:Int32">
                <Grid Width="100" Height="100" Padding="10">
                    <Grid Background="Green"/>
                </Grid>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</Grid>

在后面的代码中:

using System.Collections.ObjectModel;
using Windows.UI.Xaml.Controls;

public sealed partial class MainPage : Page
{
    public ObservableCollection<int> ItemsList { get; set; } = new ObservableCollection<int>();

    public MainPage()
    {
        InitializeComponent();

        for (int i = 0; i < 10; i++)
        {
            ItemsList.Add(i);
        }
    }
}

结果如下:

如何从列表视图中删除鼠标悬停时的所有效果/灯光?

How to remove all the effects/lights on mouse hover from listview?

推荐答案

项目之间的线条如何?

What about those lines between items?

添加到@kennyzx的回复中.您实际上在谈论的台词是显示重点.您可以在\(Program Files)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\your sdk version\Generic\generic.xaml中看到ListViewItem的默认样式.

Add to @kennyzx's reply. The lines you're talking about actually is Reveal Highlight. You could see the default style of ListViewItem in the \(Program Files)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\your sdk version\Generic\generic.xaml.

<Style TargetType="ListViewItem" x:Key="ListViewItemRevealStyle">
    <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
    <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
    <Setter Property="Background" Value="{ThemeResource ListViewItemBackground}" />
    <Setter Property="Foreground" Value="{ThemeResource ListViewItemForeground}" />
    <Setter Property="TabNavigation" Value="Local" />
    <Setter Property="IsHoldingEnabled" Value="True" />
    <Setter Property="Padding" Value="12,0,12,0" />
    <Setter Property="HorizontalContentAlignment" Value="Left" />
    <Setter Property="VerticalContentAlignment" Value="Center" />
    <Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}" />
    <Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}" />
    <Setter Property="AllowDrop" Value="False" />
    <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" />
    <Setter Property="FocusVisualMargin" Value="0" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ListViewItem">
                <ListViewItemPresenter ContentTransitions="{TemplateBinding ContentTransitions}"
                    x:Name="Root"
                    Control.IsTemplateFocusTarget="True"
                    FocusVisualMargin="{TemplateBinding FocusVisualMargin}"
                    SelectionCheckMarkVisualEnabled="{ThemeResource ListViewItemSelectionCheckMarkVisualEnabled}"
                    CheckBrush="{ThemeResource ListViewItemCheckBrush}"
                    CheckBoxBrush="{ThemeResource ListViewItemCheckBoxBrush}"
                    DragBackground="{ThemeResource ListViewItemDragBackground}"
                    DragForeground="{ThemeResource ListViewItemDragForeground}"
                    FocusBorderBrush="{ThemeResource ListViewItemFocusBorderBrush}"
                    FocusSecondaryBorderBrush="{ThemeResource ListViewItemFocusSecondaryBorderBrush}"
                    PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackground}"
                    PointerOverBackground="{ThemeResource ListViewItemBackgroundPointerOver}"
                    PointerOverForeground="{ThemeResource ListViewItemForegroundPointerOver}"
                    SelectedBackground="{ThemeResource ListViewItemBackgroundSelected}"
                    SelectedForeground="{ThemeResource ListViewItemForegroundSelected}"
                    SelectedPointerOverBackground="{ThemeResource ListViewItemBackgroundSelectedPointerOver}"
                    PressedBackground="{ThemeResource ListViewItemBackgroundPressed}"
                    SelectedPressedBackground="{ThemeResource ListViewItemBackgroundSelectedPressed}"
                    DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
                    DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
                    ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
                    HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                    VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                    ContentMargin="{TemplateBinding Padding}"
                    CheckMode="{ThemeResource ListViewItemCheckMode}"
                    RevealBackground="{ThemeResource ListViewItemRevealBackground}"
                    RevealBorderThickness="{ThemeResource ListViewItemRevealBorderThemeThickness}"
                    RevealBorderBrush="{ThemeResource ListViewItemRevealBorderBrush}">

                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="CommonStates">
                            <VisualState x:Name="Normal" />
                            <VisualState x:Name="Selected" />

                            <VisualState x:Name="PointerOver">
                                <VisualState.Setters>
                                    <Setter Target="Root.(RevealBrush.State)" Value="PointerOver" />
                                    <Setter Target="Root.RevealBorderBrush" Value="{ThemeResource ListViewItemRevealBorderBrushPointerOver}" />
                                </VisualState.Setters>
                            </VisualState>

                            <VisualState x:Name="PointerOverSelected">
                                <VisualState.Setters>
                                    <Setter Target="Root.(RevealBrush.State)" Value="PointerOver" />
                                    <Setter Target="Root.RevealBorderBrush" Value="{ThemeResource ListViewItemRevealBorderBrushPointerOver}" />
                                </VisualState.Setters>
                            </VisualState>
                            <VisualState x:Name="PointerOverPressed">
                                <VisualState.Setters>
                                    <Setter Target="Root.(RevealBrush.State)" Value="Pressed" />
                                    <Setter Target="Root.RevealBorderBrush" Value="{ThemeResource ListViewItemRevealBorderBrushPressed}" />
                                </VisualState.Setters>
                            </VisualState>

                            <VisualState x:Name="Pressed">
                                <VisualState.Setters>
                                    <Setter Target="Root.(RevealBrush.State)" Value="Pressed" />
                                    <Setter Target="Root.RevealBorderBrush" Value="{ThemeResource ListViewItemRevealBorderBrushPressed}" />
                                </VisualState.Setters>
                            </VisualState>

                            <VisualState x:Name="PressedSelected">
                                <VisualState.Setters>
                                    <Setter Target="Root.(RevealBrush.State)" Value="Pressed" />
                                    <Setter Target="Root.RevealBorderBrush" Value="{ThemeResource ListViewItemRevealBorderBrushPressed}" />
                                </VisualState.Setters>
                            </VisualState>
                        </VisualStateGroup>

                        <VisualStateGroup x:Name="DisabledStates">
                            <VisualState x:Name="Enabled" />

                            <VisualState x:Name="Disabled">
                                <VisualState.Setters>
                                    <Setter Target="Root.RevealBorderThickness" Value="0" />
                                </VisualState.Setters>
                            </VisualState>
                        </VisualStateGroup>

                    </VisualStateManager.VisualStateGroups>
                </ListViewItemPresenter>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

您可能会看到它使用了许多显示"主题资源.所有这些资源名称都包含单词"Reveal".例如,RevealBackground="{ThemeResource ListViewItemRevealBackground}".

You could see it uses many 'Reveal' Theme Resources. All these resources name contain the word 'Reveal'. For example, RevealBackground="{ThemeResource ListViewItemRevealBackground}".

如果您不想要,可以将它们全部替换.

If you do not want it, you could replace them all.

这篇关于C#UWP ListView删除所有视觉效果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆