这些控件的默认颜色似乎与Windows主题颜色类似。如何更改悬停,选定,选定的悬停和按下的颜色(代码或XAML)?以下内容不适用于ListView:
<ListView>
<ListViewItemPresenter
PointerOverBackground="#99CEEA"
SelectedPressedBackground="#72BFE9"
SelectedBackground="#72BFE9"
SelectedPointerOverBackground="#99CEEA"
/>
答案 0 :(得分:3)
在VS / Blend Designer中,右键单击ListView
并选择
修改其他模板&gt; 编辑生成的项容器 (ItemContainerStyle)&gt; 编辑副本...
在上面的弹出窗口中,如果您希望将此样式应用于所有您的ListViewItem
,请选择应用于所有,否则只需为其命名。
我建议您创建一个新的资源字典,用于存储所有ListView
相关样式。为此,只需点击新建... 按钮,然后为资源字典命名(例如ListViewStyles.xaml
)。
最后,点击确定按钮,您现在拥有完全生成的样式。
在样式ControlTemplate
中,您可以找到ListViewItemPresenter
控件并相应地更新其颜色。
答案 1 :(得分:0)
ListViewItemPresenter位于XAML中的错误位置。改变这个:
<ListView>
<ListViewItemPresenter
PointerOverBackground="#99CEEA"
SelectedPressedBackground="#72BFE9"
SelectedBackground="#72BFE9"
SelectedPointerOverBackground="#99CEEA"
/>
</ListView>
到此:
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<ListViewItemPresenter
PointerOverBackground="#99CEEA"
SelectedPressedBackground="#72BFE9"
SelectedBackground="#72BFE9"
SelectedPointerOverBackground="#99CEEA" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<ListView>