如何修复:这里不允许使用XAML2009语言构造?

时间:2013-01-15 21:23:30

标签: wpf xaml visual-studio-2012

在我的App.xaml代码中,我有以下代码:

<Application x:Class="PcgTools.App"
    ...
    <Application.Resources>
        <ResourceDictionary>
             ...
            <res:Strings x:FactoryMethod="res:StringResourceHelper.GetStringResources" 
             x:Key="LocStrings"/>
        </ResourceDictionary> 
    </Application.Resources>
</Application>

在使用FactoryMethod或Attribute构造之前,我从VS2012编译器获得了一个错误。但是现在我得到了错误:这里不允许使用Xaml2009语言构造。

如何解决这个问题?

2 个答案:

答案 0 :(得分:13)

由于缺乏编译器支持,XAML 2009很遗憾无用(虽然VS出于某种愚蠢的原因认可它)。

请参阅: MSDN doc on XAML 2009

基本上没有当前的编译器(WPF,SL,WinRT)实际上支持它。据我所知,唯一支持XAML 2009的是“松散的xaml”,你有一个独立的xaml文件,由浏览器直接打开(基本上没用)。

我不知道微软的任何解释,概述了为什么它不受支持。 : - (

答案 1 :(得分:9)

在编译的XAML中不允许使用XAML 2009(至少不在WPF 4.0中),尝试将使用2009构造的东西移动到单独的资源字典文件中。