Windows 8 更改所选项目';Windows 8应用商店应用程序中的背景色';s项目视图
我在最近的Windows 8应用程序中使用了ItemView,但是,所选的项目具有令人讨厌的蓝色/紫色背景,我更愿意用更适合该应用程序的内容替换它 不幸的是,由于这是一个Windows8应用程序,文档除了微软自己的之外非常有限,我的搜索也没有找到任何有用的东西 我想知道是否有人在“以前称为Metro的界面”应用程序中找到了这样做的方法 我已经用C#编写了我的应用程序 编辑:解决方案Windows 8 更改所选项目';Windows 8应用商店应用程序中的背景色';s项目视图,windows-8,microsoft-metro,Windows 8,Microsoft Metro,我在最近的Windows 8应用程序中使用了ItemView,但是,所选的项目具有令人讨厌的蓝色/紫色背景,我更愿意用更适合该应用程序的内容替换它 不幸的是,由于这是一个Windows8应用程序,文档除了微软自己的之外非常有限,我的搜索也没有找到任何有用的东西 我想知道是否有人在“以前称为Metro的界面”应用程序中找到了这样做的方法 我已经用C#编写了我的应用程序 编辑:解决方案 您可以向App.xaml ResourceDictionary添加资源。如果它们与控件使用的资源的名称匹配,它们将
您可以向App.xaml ResourceDictionary添加资源。如果它们与控件使用的资源的名称匹配,它们将覆盖该值。这适用于所有控件,而不仅仅是ItemView。覆盖的资源也将以混合显示。要覆盖所选项目上的默认紫色重音,您需要覆盖资源字典中的一些笔刷,并提供自己的颜色:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- overrides -->
<SolidColorBrush x:Key="ListViewItemSelectedPointerOverBackgroundThemeBrush" Color="#00FFFFFF" />
<SolidColorBrush x:Key="ListViewItemSelectedPointerOverBorderThemeBrush" Color="#80FFFFFF" />
<SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="#40FFFFFF" />
</ResourceDictionary>
我发现这更好:
<SolidColorBrush x:Key="ListViewItemSelectedPointerOverBackgroundThemeBrush" Color="Transparent" />
<SolidColorBrush x:Key="ListViewItemSelectedPointerOverBorderThemeBrush" Color="Transparent" />
<SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="Transparent" />
谢谢,这比谷歌和必应建议的涉及大量代码的另一个要容易得多。是的,在我发现我可以做到这一点之前,我不得不尝试覆盖整个模板:)