【问题标题】:How to define your own Windows 8 App Theme?如何定义自己的 Windows 8 应用主题?
【发布时间】:2014-02-17 09:41:27
【问题描述】:

对于学校作业,我正在对 Windows 8 应用商店应用开发的工作原理进行一些基础研究。我关注了the Hello World tutorial provided by Microsoft。您可以为应用使用的主要主题是 Light 和 Dark(如果我没记错的话,还有第三个 High Contrast 之类的?),这些是由 MS 定义的。

我的问题是,如何创建自己的主题?我想要一个基本的应用程序主题,其中包含我定义的两种主要颜色。我认为这是可能的,但我还没有找到任何方法。在 stackoverflow 上查看这里,但没有发现任何有用的信息(大多数提及文件等不存在于简单的 Hello World 应用程序中)。

简而言之:是否可以为您的 Windows 8 应用创建一个主题(主要选择前景色和背景色),与标准提供的深色和浅色主题相媲美?

【问题讨论】:

    标签: c# xaml windows-8 windows-store-apps visual-studio-2013


    【解决方案1】:

    最好使用资源字典来保存有关自定义样式的信息。

    (这是一个 WPF 示例,我假设应用程序也是如此,如果不是,请告诉我)。

    在您的 App.xaml 中,添加一个合并字典,这样您的 App.xaml 可能看起来像这样:

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Style/CoreStyle.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
    

    然后您需要创建一个资源字典(在我的示例中,我将它放在 Style/CoreStyle.xaml 中)

    然后,您可以为项目中的各个元素设置样式,例如,在按钮上设置 minwidth 将如下所示:

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Style TargetType="{x:Type Button}">
            <Setter Property="MinWidth" Value="75" />
        </Style>
    </ResourceDictionary>
    

    我建议阅读有关MSDN Styling and Templating Guide 的更多信息。

    【讨论】:

    • 好的,看起来不错,我要试试。谢谢!愚蠢的问题:如何在这样的 .xaml 文件中创建资源字典?就在 标签之间?编辑:找到了,它是添加新项目时的模板!
    • 如果你使用VS,你可以添加一个资源字典类型的新文件。不过,我会用完整的文件模板更新我的答案
    • 谢谢!我现在已经定义了 ResourceDictionary,但是我如何告诉一个元素它必须从这个 ResourceDictionary 中获取它的样式?我在 RD 中有一个简单的样式,只有一个网格的背景颜色。如何告诉布局 xaml 中的网格它必须使用该样式?
    • 确保合并字典(xaml 的第一部分)。只要没有指定键,并且目标类型设置为Grid,它就应该可以工作。
    • 当我将您提供的代码放入我的 App.xaml 时,它会在第二个标记 (ResourceDictionary) 下方给出一条蓝色的摆动线,告诉我每个资源字典都需要一个关联的键。
    【解决方案2】:

    WP8 默认只给你 2 个主题 Dark 和 Light,所以如果你需要创建一个其他的主题,我认为这是不可能的。

    但是如果你需要为一个应用应用主题是可以的,但是你必须为你的主题编写所有的样式。

    【讨论】:

    • 是的,我实际上只是想应用其他颜色。它可以是默认主题,只有不同的颜色,但我不知道如何做到这一点。 (我知道 XAML 是如何工作的,我只是不知道在哪里可以更改它。)我的 Common 文件夹中没有 StandardStyles.xaml,因为我使用的是 VS 2013 并且我读到它不再存在。我可以更改现有样式吗?如果可以:如何更改?
    • 您有很多选择可以在您的应用程序中创建一些样式。 1)。您可以使用控件属性向控件添加颜色和其他设置。 2)。应用资源 3)。页面资源 这里是页面资源的示例
    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多