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

Cle*_*man 4 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>
Run Code Online (Sandbox Code Playgroud)

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

Cannot find a Resource with the Name/Key BasicTextStyle [Line: 17 Position: 44]
Run Code Online (Sandbox Code Playgroud)

是不是可以这样做?

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

顺便说一句,处理错误的文件是"App.gics",它是通用错误处理程序.

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

xan*_*ont 10

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

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="Common/StandardStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)

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