私はwin8アプリケーションを作成しており、組み込みのリソース管理システム(XAMLコード内のresw
ファイルとタグ)を使用します。x:Uid
だから私はそのようなものを作成しましょうTextBox
:
<TextBlock Style="{StaticResource HeaderTextStyle}" x:Uid="ResourceTest"/>
アセンブリに対応するリソースファイルをResourceTest.Text
エントリを使用して作成すると、正常に機能します。実行時に適切なテキストが表示されます。
ここで、保守性のために、すべてのresxファイルを別のC#ライブラリに移動したいと思います。そこで、リソースファイルを新しいプロジェクトに配置し、メインアセンブリからこの新しいアセンブリを参照します。
ただし、これにより、前の構成が失敗します(テキストは表示されません)。
ただし、サイドアセンブリ(ResourcesLibraryと呼ばれる)内から次のコードを使用してプログラムでリソース値を取得すると、文字列が正しく取得されます。
static ResourceLoader resourceLoader = null;
public static string GetString(string resourceName)
{
if (resourceLoader == null)
resourceLoader = new ResourceLoader ("ResourcesLibrary/Resources");
return resourceLoader.GetString (resourceName);
}
x:Uid
アセンブリ外のリソースを処理するときにメカニズムを有効にするにはどうすればよいですか?
私はそのx:Uid
ようないくつかのことを試みましたResourcesLibrary/Resources/ResourceTest
が、運がありませんでした。