3

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

不幸的是,由于这是一个 Windows 8 应用程序,文档非常有限,超出了微软自己的范围,我的搜索没有发现任何有用的东西。

我想知道是否有人在“以前称为 Metro 的界面”应用程序中弄清楚了如何做到这一点。

我用 C# 编写了我的应用程序。

编辑:解决方案

您可以将资源添加到您的 App.xaml ResourceDictionary。如果它们与控件使用的资源的名称匹配,它们将覆盖该值。这适用于所有控件,而不仅仅是 ItemView。被覆盖的资源也将出现在 Blend 中。

4

2 回答 2

8

要覆盖所选项目的默认紫色重音,您需要覆盖资源字典中的一些画笔并提供您自己的颜色:

<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>
于 2012-09-10T05:37:02.760 回答
0

我发现这个更好:

<SolidColorBrush x:Key="ListViewItemSelectedPointerOverBackgroundThemeBrush" Color="Transparent" />
<SolidColorBrush x:Key="ListViewItemSelectedPointerOverBorderThemeBrush" Color="Transparent"  />
<SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="Transparent" />
于 2013-02-23T19:11:55.923 回答