【发布时间】:2015-03-02 13:34:36
【问题描述】:
我有一个 Windows 8.1 应用程序。
在 Project.Shared 中有 ResourceDictionary SharedResources.xaml 基本样式,
<Style x:Key="CommonLayerListItemStyle" TargetType="TextBlock">
<Setter Property="FontFamily" Value="Segoe WP" />
<Setter Property="Foreground" Value="{StaticResource UnselectBrush}" />
<Setter Property="VerticalAlignment" Value="Stretch" />
</Style>
在 Windows Phone 应用程序中是 StyleResources.xaml 带有基于此的样式
<Style x:Key="LayerListItemStyle"
BasedOn="{StaticResource CommonLayerListItemStyle}"
TargetType="TextBlock">
<Setter Property="FontSize" Value="20" />
</Style>
在 Windows 应用程序StyleResources.xaml 中相同:
<Style x:Key="LayerListItemStyle"
BasedOn="{StaticResource CommonLayerListItemStyle}"
TargetType="TextBlock">
<Setter Property="FontSize" Value="28" />
<Setter Property="Margin" Value="42,0,0,0" />
</Style>
所有样式都在共享项目中创建的 UserControl 中使用。 我这样做是为了覆盖不同平台上的 FontSize。
我合并了 App.xaml 中的所有字典
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/SharedResources.xaml" />
<ResourceDictionary Source="Styles/StyleResources.xaml" />
</ResourceDictionary.MergedDictionaries>
但是我的应用程序没有以未处理的异常开始
Cannot find a Resource with the Name/Key CommonLayerListItemStyle [Line: 10 Position: 37]
为什么会这样?
【问题讨论】:
-
请参阅 [this][1] 问题已接受答案下方的评论。 [1]:stackoverflow.com/questions/1652420/…
标签: xaml windows-store-apps winrt-xaml resourcedictionary win-universal-app