アプリの共通のヘルプ/情報を表示する共通のWP7アセンブリを構築しています。各アプリのアセンブリは、アプリ固有の情報の一部を含むStackPanelのペアを指定します(em Legal.xamlおよびWhatsNew.xamlと呼びます)。
理想的には、これらのアプリ固有のXAMLファイルはプレーンテキスト形式(コードでインスタンス化されるものではなく)である必要があるため、HTTP経由または埋め込みリソース文字列としてロードできます。
XAMLの読み込みは正常に機能しますが、スタイル定義の一部を別のファイルに分割しようとすると、XamlReader.Load()が失敗し、次のようになります。「属性AboutPageDocs/CommonStyles.xaml値が範囲外です。[行:43位置:45]」</ p>
このエラーは、Legal.xamlをロードするときに発生します。これは、43のように見えると、カスタムスタイルを含むResourceDictionaryをロードしようとしている場所を見つけます。
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="AboutPageDocs/CommonStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</StackPanel.Resources>
これがバガーです...StackPanelコード(実行時に動的にロードされます)をコピーして貼り付け、UserControlにドロップすると...問題なく動作します。
Legal.xamlとWhatsNew.xamlの両方でスタイルをインラインで定義する必要はありません...XamlReader.Load()プロパティでCommonStyles.xamlを検索する方法はありますか?
ソースパスが正しくないと考えて、CommonStyles.xamlのコピーを両方のアセンブリを介してさまざまな場所に配置しようとしました...また、pack://uri構文を試しました...これまでのところ役に立ちませんでした。
私は何が欠けていますか?