9

私の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言語構造はここでは許可されていません。

これを修正する方法は?

4

2 に答える 2

19

XAML 2009は、コンパイラのサポートがないため、残念ながら役に立ちません(ただし、VSはいくつかの愚かな理由でXAMLを認識します)。

参照: XAML2009に関するMSDNドキュメント

基本的に、現在のコンパイラ(WPF、SL、WinRT)は実際にはそれをサポートしていません。私の知る限り、XAML 2009をサポートするのは「loosexaml」だけです。このファイルでは、ブラウザーで直接開かれるスタンドアロンのxamlファイルがあります(基本的には役に立ちません)。

いったいなぜそれがサポートされていないのかを概説しているマイクロソフトからの説明を私は知りません。:-(

于 2013-01-16T04:33:09.043 に答える
11

XAML 2009はコンパイル済みXAMLでは許可されていません(少なくともWPF 4.0では許可されていません)。2009コンストラクトを使用するものを別のリソースディクショナリファイルに移動してみてください。

于 2013-01-15T22:40:48.617 に答える