资源字典中的样式仅在设计时有效

时间:2014-04-08 12:47:20

标签: c# wpf xaml

我有一些用于在单独的文件/资源​​字典中定义的公共控件的样式。该文件在App.xaml中引用,并在启动时加载。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary>
                <workbench:AppBootstrapper x:Key="bootstrapper" />
            </ResourceDictionary>
            <ResourceDictionary Source="Resources/Layout.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

资源/ Layout.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:system="clr-namespace:System;assembly=mscorlib">
    <Style TargetType="Label" x:Key="Heading1">
        <Setter Property="FontSize" Value="{StaticResource Heading1FontSize}" />
    </Style>
</ResourceDictionary>

在设计时,它完美运作。但是,当应用程序运行时,不会应用任何样式。我可以在这里找到什么?

1 个答案:

答案 0 :(得分:0)

您如何为所有label设置样式?您希望样式适用于所有label或仅适用于label个控件吗?

如果您希望将其应用于所有类型的Label控件,则必须删除x:Key代码中的Style属性。

如果您希望它特定于每个Label控件,则必须定义每个Style的{​​{1}}属性,并使用Label Control指向它。< / p>

可以找到更多信息here

<强>更新

尝试将key更改为类似于此

Source