【发布时间】:2016-12-13 18:27:49
【问题描述】:
我正在尝试将所有组件的样式外部化,以便在需要时重复使用它们。
我有一个名为 MainMenuItemFontStyle 的资源,其中包含多个设置器,包括将 FontSize 设置器设置为 14。
当我将此资源应用到我的 FontIcon 时,样式会被一些本地参数覆盖。问题是我从来没有设置这些本地参数,也找不到。
样式位于单独的文件 (Styles.xaml) 中,如下所示:
<Style x:Name="FontIconBase" TargetType="FontIcon">
<Setter Property="FontFamily" Value="Segoe MDL2 Assets"/>
</Style>
<Style x:Name="MainMenuItemFontStyle" TargetType="FontIcon" BasedOn="{StaticResource ResourceKey=FontIconBase}">
<Setter Property="FontSize" Value="14"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Foreground" Value="Black"/>
</Style>
我只是用 Style 参数来调用它:
<FontIcon Grid.Column="0" Glyph="{Binding Icon}" Style="{StaticResource ResourceKey=MainMenuItemFontStyle}"/>
这就是我从属性资源管理器中得到的:
如您所见,我的样式是存在的,但有一些本地参数。而 MainContainerView.xaml 的链接指向之前显示的 FontIcon。
我做错了吗?
谢谢。
【问题讨论】:
-
你能不能也分享一下 FontIconBase 样式
-
完成,它只是 FontFamily 属性的设置器。
-
从 MainContainerView.xaml 中删除 MainMenuItemFontStyle
-
抱歉,我认为从屏幕上可以清楚地看出样式位于名为 Styles.xaml 的单独文件中。我正在编辑问题。