Windows 8 更改所选项目';Windows 8应用商店应用程序中的背景色';s项目视图

Windows 8 更改所选项目';Windows 8应用商店应用程序中的背景色';s项目视图,windows-8,microsoft-metro,Windows 8,Microsoft Metro,我在最近的Windows 8应用程序中使用了ItemView,但是,所选的项目具有令人讨厌的蓝色/紫色背景,我更愿意用更适合该应用程序的内容替换它 不幸的是,由于这是一个Windows8应用程序,文档除了微软自己的之外非常有限,我的搜索也没有找到任何有用的东西 我想知道是否有人在“以前称为Metro的界面”应用程序中找到了这样做的方法 我已经用C#编写了我的应用程序 编辑:解决方案 您可以向App.xaml ResourceDictionary添加资源。如果它们与控件使用的资源的名称匹配,它们将

我在最近的Windows 8应用程序中使用了ItemView,但是,所选的项目具有令人讨厌的蓝色/紫色背景,我更愿意用更适合该应用程序的内容替换它

不幸的是,由于这是一个Windows8应用程序,文档除了微软自己的之外非常有限,我的搜索也没有找到任何有用的东西

我想知道是否有人在“以前称为Metro的界面”应用程序中找到了这样做的方法

我已经用C#编写了我的应用程序

编辑:解决方案


您可以向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" />


谢谢,这比谷歌和必应建议的涉及大量代码的另一个要容易得多。是的,在我发现我可以做到这一点之前,我不得不尝试覆盖整个模板:)