在ListView中更改颜色

时间:2016-09-27 06:03:51

标签: c# windows-store-apps windows-8.1

我想在Listviewselected时更改边框背景。

<Border x:Name="myback" Background="Transparent">
     <ContentPresenter Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
</Border>

1 个答案:

答案 0 :(得分:1)

根据你的代码,我想知道Border是否在ListViewItem的模板内,如果是,请转到以下路径: C:\ Program Files(x86)\ Windows Kits \ 10 \ DesignTime \ CommonConfiguration \ Neutral \ UAP \ 10.0.14393.0 \ Generic \ generic.xaml 以获取所有UWP控件的所有默认样式。 然后请搜索ListViewItem样式,你会发现两个ListViewItem样式,请将名为 ListViewItemExpanded 的样式复制到你的项目中,然后在 ListViewItemExpanded 中添加你的边框风格。

之后为了在选择ListViewItem时更改边框背景,请搜索 Selected / PointerOverSelected / PressedSelected VisualState并在其中添加以下XAML代码以更改颜色:

<ObjectAnimationUsingKeyFrames Storyboard.TargetName="myback" Storyboard.TargetProperty="Background">
    <DiscreteObjectKeyFrame KeyTime="0" Value="Red" />
</ObjectAnimationUsingKeyFrames>