3

这样做会是最佳做法吗?

例如,HyperlinkPointerOverBrush定义深蓝色/绿色,这是当您的鼠标/“手指”悬停在链接上时我的应用程序继承的默认画笔颜色。但是深蓝色/绿色的颜色分配可以轻松更改为其他颜色吗?

(下图说明了我的应用程序引用的系统画笔列表) 在此处输入图像描述

我尝试HyperlinkPointerOverBrush在我的App.xaml

<SolidColorBrush x:Key="HyperlinkPointerOverBrush" Color="#FF0A2562"/>

在我的地铁应用程序中,但无济于事;我的链接仍然保持默认的深蓝色/绿色。

关于我将如何处理这个问题的任何想法?以及定义应用程序的系统画笔的最佳实践。您希望在 Windows 8 Metro 风格的 WinRT 应用程序上使用“调色板”?(这是一口)

谢谢。

4

2 回答 2

4

您可以覆盖所有系统画笔,只需将具有相同键的画笔放入资源中:

<ResourceDictionary>
    <SolidColorBrush x:Key="ListBoxItemSelectedBackgroundThemeBrush" Color="Green" />
</ResourceDictionary>

WinRT 的所有系统画笔的列表可以在这里找到:http: //www.win8tutorial.net/styling/windows-8-1-theme-resources/

最棘手的事情是找到合适的刷子来覆盖,因为它有数百个。

问候

基督教
http://www.wpftutorial.net

于 2013-02-20T06:14:41.843 回答
3

winrt 程序集中开箱即用的控件具有使用这些程序集资源的样式和模板。要更改它,您可以做的一件简单的事情是在 app.xaml 中设置 RequestedTheme="Light"。要更改任意画笔,您还需要通过在使用控件时显式覆盖它们来修改样式/模板本身。

您可以通过转到“编辑模板”/“编辑副本...”在设计视图上下文菜单中提取默认模板。然后,您将使用主题资源修改提取的样式。

您可以通过将一组预定义的资源或主题合并到 App.xaml/MergedDictionaries 中来使用它,因为 Common/StandardStyles.xaml 位于基本模板中。可能如果您定义使用相同键的多个主题资源字典 - 您可以动态更改 App.xaml 中的合并字典以在运行时更改主题。

于 2012-04-24T06:53:38.433 回答