在Metro App中创建基于StandardStyles.xaml的样式

时间:2012-04-04 01:08:56

标签: c# xaml microsoft-metro windows-runtime

我正在创建我的第一个WPF metro应用程序。我正在尝试扩展作为Metro应用程序一部分的样式(在Common / StandardStyles.xaml文件中)

我没有修改该文件。

相反,我创建了另一个名为AppStyles.xaml的资源文件(在根目录中)。在其中我放置了这种风格:

<!-- Apply to all textblocks-->
<Style BasedOn="{StaticResource BasicTextStyle}" TargetType="TextBlock">
    <Setter Property="Margin" Value="0,10,10,0"/></Style>

但是当我运行应用程序时,我收到了这个错误。

Cannot find a Resource with the Name/Key BasicTextStyle [Line: 17 Position: 44]

不可能这样做吗?

(顺便说一下,在整个应用程序中没有任何地方可以在任何文件的第17行使用或定义BasicTextStyle,所以我不知道它实际上在抱怨什么页面。)

顺便说一下,处理错误的文件是“App.g.i.cs”,它是通用的错误处理程序。

如果删除我创建的样式,应用程序运行正常。

1 个答案:

答案 0 :(得分:10)

我对Metro特定的应用程序一无所知,但这应该是标准的XAML内容。在AppStyles.xaml文件中需要这样的东西:

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="Common/StandardStyles.xaml" />
</ResourceDictionary.MergedDictionaries>

如果有,可以参考自定义XAML文件中的资源。顺便说一下,你得到的错误是指AppStyles.xaml文件本身。