将自定义样式添加到Mahapps.Metro现有样式

字节码77

我使用MahApps.Metro在设置指南中,它告诉您在App.xaml中包含一些代码所以我做了。

现在,我希望能够为其添加自己的样式例如,这包括所有默认情况下具有边框的窗口。

但这是行不通的。不应用边框。我不知道如何在不使用MahApps.Metro时对样式进行样式设置,但是有了它,我俩都无法正常工作。

怎么了

<Application x:Class="ProjectName.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="Windows/MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
                <!-- This is what I added -->
                <ResourceDictionary xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro">
                    <Style TargetType="Controls:MetroWindow">
                        <Setter Property="BorderThickness" Value="1" />
                        <Setter Property="BorderBrush" Value="{DynamicResource AccentColorBrush}" />
                    </Style>
                </ResourceDictionary>
                <!-------------------------->
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>
朋克76

您忘记了通过以下方式继承样式BasedOn

<ResourceDictionary xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro">
    <Style TargetType="Controls:MetroWindow"
           BasedOn="{StaticResource {x:Type Controls:MetroWindow}}">
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="BorderBrush" Value="{DynamicResource AccentColorBrush}" />
    </Style>
</ResourceDictionary>

编辑

经过测试后,我的第一个答案不是很正确。您必须设置一个,x:Key并在每个MetroWindowxaml中使用此密钥

<Style x:Key="CustomGlobalMetroWindow"
        TargetType="{x:Type Controls:MetroWindow}"
        BasedOn="{StaticResource {x:Type Controls:MetroWindow}}">
    <Setter Property="BorderThickness"
            Value="1" />
    <Setter Property="BorderBrush"
            Value="Purple" />
</Style>

用法

<Controls:MetroWindow x:Class="Demo"
                      Style="{DynamicResource CustomGlobalMetroWindow}" />

希望对您有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将自定义样式的按钮添加到CKEditor

Laravel-将自定义样式添加到现有app.scss

如何应用现有样式并在其上添加可自定义的样式?

WordPress:将自定义样式添加到Gutenberg组块

将自定义样式添加到bootstrap clase中。

如何将自定义样式添加到dnn默认主页?

将自定义CSS添加到树枝模板,样式不适用

将自定义CSS样式添加到模型表单Django

将自定义CSS样式添加到Material UI KeyboardDatePicker

将自定义样式规则添加到列表中的偶数元素

使用 javascript 将自定义位置图钉添加到样式化的 Google 地图

css:覆盖现有样式之后

使用现有样式的基础

CSS仅更改现有样式

jQuery:将样式属性添加到现有样式

如何将自定义样式添加到导航窗格或如何使用VBA进行更改

将样式添加到自定义菜单

将现有样式添加到 OpenXML 中的段落

将自定义字段添加到Dokan上的现有表单(wordpress / woocoomerce)

将自定义命令添加到qmake中的现有目标

将自定义函数添加到 Python 中的现有类

Rails将自定义路由添加到现有资源

将自定义属性添加到现有视图

如何将自定义AxisItem添加到现有的PlotWidget?

将自定义字段添加到现有视图的问题

如何使用Java将自定义字段添加到Salesforce中的现有对象

在Woocommerce中将自定义元数据作为带有标题的html样式表添加到电子邮件中

如何重命名 CKEditor 中的现有样式?

现有样式也适用于链接