0

ローカライズを意図していないアプリケーションがあり、リソースが同じアセンブリにある場合、画像を参照するときにパック表記を使用する利点はありますか?

現在、同じアセンブリ内のビルド アクションが Resource に設定された Resource フォルダーにすべての画像があります。私はこのように言及しています(これは機能しています)

<Image Source="/Resources/Image1.png"/>

4

1 に答える 1

1

厳密に言えば、あなたは既にパック URI を使用しており、相対 URI を使用しているだけです。

件名に関する MSDN ドキュメントで説明されているように、Pack URI 表記の目的は、

これらのタイプのファイルを識別してロードするための一貫したメカニズムを提供する

以下を含むさまざまな場所から。

  • 現在のアセンブリ。
  • 参照されたアセンブリ。
  • アセンブリに相対的な位置。
  • アプリケーションの元のサイト。

この種の一貫性を提供するために、URI スキームは絶対 URI と相対 URI の両方を宣言する方法を指定します。

デフォルトでは、相対パック URI は、参照を含むマークアップまたはコードの場所に相対的であると見なされます。ただし、先頭にバックスラッシュが使用されている場合、相対パック URI 参照は、アプリケーションのルートに対して相対的であると見なされます。

絶対パック URI と相対パック URI の利点について質問している場合は、その質問に答えることができるのはあなただけです。絶対 URI には、参照している XAML を移動しても、常に同じ場所に解決されるという利点があります。相対 URI には、相対パスを壊すことなく、XAML とそれに関連するリソースを 1 つの単位として移動できるという利点があります。

参照されるリソースが常に XAML ソースと同じアセンブリにあることが確実な場合は、おそらく相対パスが適しています。XAML を静的リソースから分離する必要があると思われる場合は、絶対 URI を使用して早期に実行し、機能させるべきであるという良い議論があります。

于 2013-04-08T16:17:36.893 に答える