WPF アプリケーションのリソース ファイル、コンテンツ ファイル、およびデータ ファイルWPF Application Resource, Content, and Data Files

Microsoft WindowsMicrosoft Windows アプリケーションは、多くの場合、Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)、イメージ、ビデオ、オーディオなど、実行可能ではないデータを含むファイルに依存します。applications often depend on files that contain non-executable data, such as Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML), images, video, and audio. Windows Presentation Foundation (WPF) では、これらの種類のデータファイル (アプリケーションデータファイルと呼ばれます) を構成、識別、および使用するための特別なサポートを提供しています。Windows Presentation Foundation (WPF) offers special support for configuring, identifying, and using these types of data files, which are called application data files. このサポートの中心となるのは、次のような特定のアプリケーション データ ファイルの種類のセットです。This support revolves around a specific set of application data file types, including:

  • リソースファイル: 実行可能ファイルまたはライブラリ WPFWPF アセンブリのいずれかにコンパイルされるデータファイル。Resource Files: Data files that are compiled into either an executable or library WPFWPF assembly.

  • コンテンツファイル: 実行可能ファイル WPFWPF アセンブリに明示的に関連付けられているスタンドアロンデータファイル。Content Files: Standalone data files that have an explicit association with an executable WPFWPF assembly.

  • 起点サイトファイル: 実行可能ファイル WPFWPF アセンブリに関連付けられていないスタンドアロンデータファイル。Site of Origin Files: Standalone data files that have no association with an executable WPFWPF assembly.

これらの 3 種類のファイルの重要な違いは、リソース ファイルとコンテンツ ファイルはビルド時に認識されるという点です。アセンブリは、これらを明確に認識します。One important distinction to make between these three types of files is that resource files and content files are known at build time; an assembly has explicit knowledge of them. ただし、起点サイトファイルの場合、アセンブリについての情報がないか、またはパッケージ URI (uniform resource identifier) 参照によって暗黙的に認識されている可能性があります。後者の場合、参照されている起点サイトファイルが実際に存在する保証はありません。For site of origin files, however, an assembly may have no knowledge of them at all, or implicit knowledge through a pack uniform resource identifier (URI) reference; the case of the latter, there is no guarantee that the referenced site of origin file actually exists.

アプリケーションデータファイルを参照するために、Windows Presentation Foundation (WPF) は、パッケージ uri (uniform resource identifier) スキームを使用します。これについては、「 wpf のパック uri」で詳しく説明されています。To reference application data files, Windows Presentation Foundation (WPF) uses the Pack uniform resource identifier (URI) Scheme, which is described in detail in Pack URIs in WPF).

このトピックでは、アプリケーション データ ファイルを構成および使用する方法について説明します。This topic describes how to configure and use application data files.

リソース ファイル (Visual Studio)Resource Files

アプリケーション データ ファイルを常にアプリケーションで使用可能にするには、コンパイルしてアプリケーションのメイン実行可能アセンブリまたはその参照アセンブリの 1 つに組み込む必要があります。If an application data file must always be available to an application, the only way to guarantee availability is to compile it into an application's main executable assembly or one of its referenced assemblies. この種類のアプリケーションデータファイルは、リソースファイルと呼ばれます。This type of application data file is known as a resource file.

リソース ファイルは、次のときに使用します。You should use resource files when:

  • コンパイルしてアセンブリに組み込んだ後に、リソース ファイルのコンテンツを更新する必要がない。You don't need to update the resource file's content after it is compiled into an assembly.

  • ファイルの依存関係の数を減らして、アプリケーション配布の複雑さを軽減する必要がある。You want to simplify application distribution complexity by reducing the number of file dependencies.

  • アプリケーションデータファイルはローカライズ可能である必要があります (「 WPF のグローバリゼーションとローカライズの概要」を参照してください)。Your application data file needs to be localizable (see WPF Globalization and Localization Overview).

注意

このセクションで説明するリソースファイルは、「 XAML リソース」で説明されているリソースファイルとは異なり、「アプリケーションリソースの管理 (.net)」で説明されている埋め込みリソースまたはリンクされたリソースとは異なります。The resource files described in this section are different than the resource files described in XAML Resources and different than the embedded or linked resources described in Manage Application Resources (.NET).

リソース ファイルの構成Configuring Resource Files

@No__t_0 では、リソースファイルは、Resource 項目として Microsoft build engine (MSBuild) プロジェクトに含まれるファイルです。In WPFWPF, a resource file is a file that is included in an Microsoft build engine (MSBuild) project as a Resource item.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >  
  ...  
  <ItemGroup>  
    <Resource Include="ResourceFile.xaml" />  
  </ItemGroup>  
  ...  
</Project>  

注意

@No__t_0 では、プロジェクトにファイルを追加し、その Build ActionResource に設定することによって、リソースファイルを作成します。In Microsoft Visual StudioMicrosoft Visual Studio, you create a resource file by adding a file to a project and setting its Build Action to Resource.

プロジェクトがビルドされると、MSBuild はリソースをコンパイルしてアセンブリにします。When the project is built, MSBuild compiles the resource into the assembly.

リソース ファイルの使用Using Resource Files

リソースファイルを読み込むには、Application クラスの GetResourceStream メソッドを呼び出して、目的のリソースファイルを識別するパック URI を渡します。To load a resource file, you can call the GetResourceStream method of the Application class, passing a pack URI that identifies the desired resource file. GetResourceStreamStreamResourceInfo オブジェクトを返します。このオブジェクトは、リソースファイルを Stream として公開し、そのコンテンツの種類について説明します。GetResourceStream returns a StreamResourceInfo object, which exposes the resource file as a Stream and describes its content type.

例として、次のコードは、GetResourceStream を使用して Page リソースファイルを読み込み、Frame (pageFrame) のコンテンツとして設定する方法を示しています。As an example, the following code shows how to use GetResourceStream to load a Page resource file and set it as the content of a Frame (pageFrame):

// Navigate to xaml page
Uri uri = new Uri("/PageResourceFile.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetResourceStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();
Page page = (Page)reader.LoadAsync(info.Stream);
this.pageFrame.Content = page;
' Navigate to xaml page
Dim uri As New Uri("/PageResourceFile.xaml", UriKind.Relative)
Dim info As StreamResourceInfo = Application.GetResourceStream(uri)
Dim reader As New System.Windows.Markup.XamlReader()
Dim page As Page = CType(reader.LoadAsync(info.Stream), Page)
Me.pageFrame.Content = page

@No__t_0 を呼び出すと Stream にアクセスできますが、それを設定するプロパティの型に変換する追加作業を実行する必要があります。While calling GetResourceStream gives you access to the Stream, you need to perform the additional work of converting it to the type of the property that you'll be setting it with. 代わりに、コードを使用して、リソースファイルを型のプロパティに直接読み込むことによって、Stream を開いて変換できるように WPFWPF できます。Instead, you can let WPFWPF take care of opening and converting the Stream by loading a resource file directly into the property of a type using code.

次の例は、コードを使用して Frame (pageFrame) に Page を直接読み込む方法を示しています。The following example shows how to load a Page directly into a Frame (pageFrame) using code.

Uri pageUri = new Uri("/PageResourceFile.xaml", UriKind.Relative);
this.pageFrame.Source = pageUri;
Dim pageUri As New Uri("/PageResourceFile.xaml", UriKind.Relative)
Me.pageFrame.Source = pageUri

次の例は、上の例と同じ意味のマークアップです。The following example is the markup equivalent of the preceding example.

<Frame Name="pageFrame" Source="PageResourceFile.xaml" />

リソース ファイルとしてのアプリケーション コード ファイルApplication Code Files as Resource Files

Windows、ページ、フロードキュメント、リソースディクショナリなどのパック Uri を使用して、WPFWPF アプリケーションコードファイルの特殊なセットを参照できます。A special set of WPFWPF application code files can be referenced using pack URIs, including windows, pages, flow documents, and resource dictionaries. たとえば、アプリケーションの起動時に読み込むウィンドウまたはページを参照するパック URI を使用して、Application.StartupUri プロパティを設定できます。For example, you can set the Application.StartupUri property with a pack URI that references the window or page that you would like to load when an application starts.

<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    StartupUri="SOOPage.xaml" />

これは、XAML ファイルが MSBuild プロジェクトに Page 項目として含まれている場合に行うことができます。You can do this when a XAML file is included in an MSBuild project as a Page item.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >  
  ...  
  <ItemGroup>  
    <Page Include="MainWindow.xaml" />  
  </ItemGroup>  
  ...  
</Project>  

注意

@No__t_0 では、プロジェクトに新しい WindowNavigationWindowPageFlowDocument、または ResourceDictionary を追加すると、マークアップファイルの Build Action が既定で Page されます。In Visual StudioVisual Studio, you add a new Window, NavigationWindow, Page, FlowDocument, or ResourceDictionary to a project, the Build Action for the markup file will default to Page.

@No__t_0 項目を含むプロジェクトがコンパイルされると、XAMLXAML 項目はバイナリ形式に変換され、関連付けられたアセンブリにコンパイルされます。When a project with Page items is compiled, the XAMLXAML items are converted to binary format and compiled into the associated assembly. したがって、これらのファイルは、通常のリソース ファイルと同様に使用できます。Consequently, these files can be used in the same way as typical resource files.

注意

@No__t_0 ファイルが Resource の項目として構成されていて、分離コードファイルがない場合、生の XAMLXAML は、生の XAMLXAML のバイナリバージョンではなく、アセンブリにコンパイルされます。If a XAMLXAML file is configured as a Resource item, and does not have a code-behind file, the raw XAMLXAML is compiled into an assembly rather than a binary version of the raw XAMLXAML.

コンテンツ ファイルContent Files

コンテンツファイルは、実行可能アセンブリと共に、圧縮されていないファイルとして配布されます。A content file is distributed as a loose file alongside an executable assembly. コンテンツ ファイルはコンパイルされてアセンブリに組み込まれるのではありませんが、アセンブリのコンパイル時に、各コンテンツ ファイルとの関連付けを確立するメタデータが使用されます。Although they are not compiled into an assembly, assemblies are compiled with metadata that establishes an association with each content file.

アプリケーションに必要な特定のアプリケーション データ ファイルのセットが更新されても、そのファイルを使用するアセンブリを再コンパイルせずに、コンテンツ ファイルを使用する必要があります。You should use content files when your application requires a specific set of application data files that you want to be able to update without recompiling the assembly that consumes them.

コンテンツ ファイルの構成Configuring Content Files

コンテンツファイルをプロジェクトに追加するには、アプリケーションデータファイルが Content 項目として含まれている必要があります。To add a content file to a project, an application data file must be included as a Content item. さらに、コンテンツファイルはアセンブリに直接コンパイルされないため、MSBuild CopyToOutputDirectory メタデータ要素を設定して、ビルドされたアセンブリに対して相対的な場所にコンテンツファイルをコピーするように指定する必要があります。Furthermore, because a content file is not compiled directly into the assembly, you need to set the MSBuild CopyToOutputDirectory metadata element to specify that the content file is copied to a location that is relative to the built assembly. プロジェクトをビルドするたびにリソースをビルド出力フォルダーにコピーする場合は、CopyToOutputDirectory メタデータ要素に Always 値を設定します。If you want the resource to be copied to the build output folder every time a project is built, you set the CopyToOutputDirectory metadata element with the Always value. それ以外の場合は、PreserveNewest 値を使用して、リソースの最新バージョンのみがビルド出力フォルダーにコピーされるようにすることができます。Otherwise, you can ensure that only the newest version of the resource is copied to the build output folder by using the PreserveNewest value.

次に示すファイルは、新しいバージョンのリソースがプロジェクトに追加された場合にのみビルド出力フォルダーにコピーされるコンテンツ ファイルとして構成されています。The following shows a file that is configured as a content file which is copied to the build output folder only when a new version of the resource is added to the project.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >  
  ...  
  <ItemGroup>  
    <Content Include="ContentFile.xaml">  
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>  
    </Content>  
  </ItemGroup>  
  ...  
</Project>  

注意

@No__t_0 では、ファイルをプロジェクトに追加し、その Build ActionContent に設定し、その Copy to Output DirectoryCopy always (Always と同じ) および Copy if newer (PreserveNewest と同じ) に設定して、コンテンツファイルを作成します。In Visual StudioVisual Studio, you create a content file by adding a file to a project and setting its Build Action to Content, and set its Copy to Output Directory to Copy always (same as Always) and Copy if newer (same as PreserveNewest).

プロジェクトがビルドされると、AssemblyAssociatedContentFileAttribute 属性が、各コンテンツファイルのアセンブリのメタデータにコンパイルされます。When the project is built, an AssemblyAssociatedContentFileAttribute attribute is compiled into the metadata of the assembly for each content file.

[assembly: AssemblyAssociatedContentFile("ContentFile.xaml")]

@No__t_0 の値は、プロジェクト内のその位置に対するコンテンツファイルへの相対パスを意味します。The value of the AssemblyAssociatedContentFileAttribute implies the path to the content file relative to its position in the project. たとえば、コンテンツファイルがプロジェクトサブフォルダー内にある場合、追加のパス情報が AssemblyAssociatedContentFileAttribute の値に組み込まれます。For example, if a content file was located in a project subfolder, the additional path information would be incorporated into the AssemblyAssociatedContentFileAttribute value.

[assembly: AssemblyAssociatedContentFile("Resources/ContentFile.xaml")]

@No__t_0 値は、ビルド出力フォルダー内のコンテンツファイルへのパスの値でもあります。The AssemblyAssociatedContentFileAttribute value is also the value of the path to the content file in the build output folder.

コンテンツ ファイルの使用Using Content Files

コンテンツファイルを読み込むには、Application クラスの GetContentStream メソッドを呼び出して、目的のコンテンツファイルを識別するパック URI を渡します。To load a content file, you can call the GetContentStream method of the Application class, passing a pack URI that identifies the desired content file. GetContentStreamStreamResourceInfo オブジェクトを返します。これにより、コンテンツファイルが Stream として公開され、コンテンツの種類が記述されます。GetContentStream returns a StreamResourceInfo object, which exposes the content file as a Stream and describes its content type.

例として、次のコードは、GetContentStream を使用して Page コンテンツファイルを読み込み、Frame (pageFrame) のコンテンツとして設定する方法を示しています。As an example, the following code shows how to use GetContentStream to load a Page content file and set it as the content of a Frame (pageFrame).

// Navigate to xaml page
Uri uri = new Uri("/PageContentFile.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetContentStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();
Page page = (Page)reader.LoadAsync(info.Stream);
this.pageFrame.Content = page;
' Navigate to xaml page
Dim uri As New Uri("/PageContentFile.xaml", UriKind.Relative)
Dim info As StreamResourceInfo = Application.GetContentStream(uri)
Dim reader As New System.Windows.Markup.XamlReader()
Dim page As Page = CType(reader.LoadAsync(info.Stream), Page)
Me.pageFrame.Content = page

@No__t_0 を呼び出すと Stream にアクセスできますが、それを設定するプロパティの型に変換する追加作業を実行する必要があります。While calling GetContentStream gives you access to the Stream, you need to perform the additional work of converting it to the type of the property that you'll be setting it with. 代わりに、コードを使用して、リソースファイルを型のプロパティに直接読み込むことによって、Stream を開いて変換できるように WPFWPF できます。Instead, you can let WPFWPF take care of opening and converting the Stream by loading a resource file directly into the property of a type using code.

次の例は、コードを使用して Frame (pageFrame) に Page を直接読み込む方法を示しています。The following example shows how to load a Page directly into a Frame (pageFrame) using code.

Uri pageUri = new Uri("/PageContentFile.xaml", UriKind.Relative);
this.pageFrame.Source = pageUri;
Dim pageUri As New Uri("/PageContentFile.xaml", UriKind.Relative)
Me.pageFrame.Source = pageUri

次の例は、上の例と同じ意味のマークアップです。The following example is the markup equivalent of the preceding example.

<Frame Name="pageFrame" Source="PageContentFile.xaml" />

起点サイト ファイルSite of Origin Files

リソースファイルには、AssemblyAssociatedContentFileAttribute による定義に従って、配布されるアセンブリと共に明示的な関係があります。Resource files have an explicit relationship with the assemblies that they are distributed alongside, as defined by the AssemblyAssociatedContentFileAttribute. ただし、アセンブリとアプリケーション データ ファイル間に暗黙的な関係を持たせる、または関係を持たせない場合があります。たとえば次のような場合です。But, there are times when you may want to establish either an implicit or non-existent relationship between an assembly and an application data file, including when:

  • コンパイル時にファイルが存在しません。A file doesn't exist at compile time.

  • アセンブリが必要とするファイルが、実行時までわからない場合。You don't know what files your assembly will require until run time.

  • 関連付けられているアセンブリを再コンパイルせずにファイルを更新可能にする場合。You want to be able to update files without recompiling the assembly that they are associated with.

  • オーディオやビデオなど大容量のデータ ファイルを使用するアプリケーションで、ユーザーが選択した場合にのみファイルをダウンロードする場合。Your application uses large data files, such as audio and video, and you only want users to download them if they choose to.

これらの種類のファイルは、file:///スキームや http://スキームなどの従来の URI スキームを使用して読み込むことができます。It is possible to load these types of files by using traditional URI schemes, such as the file:/// and http:// schemes.

<Image Source="file:///C:/DataFile.bmp" />
<Image Source="http://www.datafilewebsite.com/DataFile.bmp" />

ただし、file:/// スキームや http:// スキームを使用する場合は、アプリケーションに完全信頼が必要です。However, the file:/// and http:// schemes require your application to have full trust. アプリケーションがインターネットまたはイントラネットから起動された XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP) であり、その場所から起動されたアプリケーションに対して許可されるアクセス許可のセットだけを要求する場合、圧縮されていないファイルはアプリケーションの元のサイトからのみ読み込むことができます (起動場所)。If your application is a XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP) that was launched from the Internet or intranet, and it requests only the set of permissions that are allowed for applications launched from those locations, loose files can only be loaded from the application's site of origin (launch location). このようなファイルは、起点サイトファイルと呼ばれます。Such files are known as site of origin files.

起点サイト ファイルは部分信頼アプリケーションの唯一のオプションですが、部分信頼アプリケーション以外でも使用できます。Site of origin files are the only option for partial trust applications, although are not limited to partial trust applications. 完全信頼アプリケーションでも、読み込むアプリケーション データ ファイルがビルド時点では不明な場合があります。完全信頼アプリケーションでは file:/// を使用できますが、アプリケーション データ ファイルがアプリケーション アセンブリと同じフォルダーにインストールされることも、サブフォルダーにインストールされることも考えられます。Full trust applications may still need to load application data files that they do not know about at build time; while full trust applications could use file:///, it is likely that the application data files will be installed in the same folder as, or a subfolder of, the application assembly. この場合は、起点サイト参照を使用する方が、file:/// を使用するよりも簡単です。file:/// を使用するには、ファイルの完全パスを指定する必要があるためです。In this case, using site of origin referencing is easier than using file:///, because using file:/// requires you to work out the full path the file.

注意

起点サイトファイルは、クライアントコンピューターに XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP) と共にキャッシュされることはありませんが、コンテンツファイルはです。Site of origin files are not cached with an XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP) on a client machine, while content files are. したがって、起点サイト ファイルは明確に要求されたときにのみダウンロードされます。Consequently, they are only downloaded when specifically requested. @No__t_0 アプリケーションに大きなメディアファイルが含まれている場合は、それらを起点サイトファイルとして構成すると、最初のアプリケーションの起動にかかる時間が大幅に短縮され、ファイルは要求時にのみダウンロードされます。If an XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP) application has large media files, configuring them as site of origin files means the initial application launch is much faster, and the files are only downloaded on demand.

起点サイト ファイルの構成Configuring Site of Origin Files

コンパイル時に起点サイトファイルが存在しないか不明な場合は、XCopy コマンドラインプログラムまたは Microsoft Windows インストーラーMicrosoft Windows Installer を使用するなど、必要なファイルを実行時に確実に使用できるようにするために、従来の配置メカニズムを使用する必要があります。If your site of origin files are non-existent or unknown at compile time, you need to use traditional deployment mechanisms for ensuring the required files are available at run time, including using either the XCopy command-line program or the Microsoft Windows インストーラーMicrosoft Windows Installer.

発行元のサイトに配置する必要があるファイルがコンパイル時にわかっていても、明示的な依存関係を回避したい場合は、それらのファイルを None 項目として MSBuild プロジェクトに追加できます。If you do know at compile time the files that you would like to be located at the site of origin, but still want to avoid an explicit dependency, you can add those files to an MSBuild project as None item. コンテンツファイルと同様に、MSBuild CopyToOutputDirectory 属性を設定して、Always 値または PreserveNewest 値を指定することによって、ビルドされたアセンブリに対して相対的な場所に起点サイトファイルをコピーするように指定する必要があります。As with content files, you need to set the MSBuild CopyToOutputDirectory attribute to specify that the site of origin file is copied to a location that is relative to the built assembly, by specifying either the Always value or the PreserveNewest value.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >  
  ...  
  <None Include="PageSiteOfOriginFile.xaml">  
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>  
  </None>  
  ...  
</Project>  

注意

@No__t_0 では、プロジェクトにファイルを追加し、その Build ActionNone に設定することにより、起点サイトファイルを作成します。In Visual StudioVisual Studio, you create a site of origin file by adding a file to a project and setting its Build Action to None.

プロジェクトがビルドされると、MSBuild は、指定されたファイルをビルド出力フォルダーにコピーします。When the project is built, MSBuild copies the specified files to the build output folder.

起点サイト ファイルの使用Using Site of Origin Files

起点サイトファイルを読み込むには、Application クラスの GetRemoteStream メソッドを呼び出して、目的の起点サイトファイルを識別するパック URI を渡します。To load a site of origin file, you can call the GetRemoteStream method of the Application class, passing a pack URI that identifies the desired site of origin file. GetRemoteStreamStreamResourceInfo オブジェクトを返します。これにより、起点サイトファイルが Stream として公開され、そのコンテンツの種類が記述されます。GetRemoteStream returns a StreamResourceInfo object, which exposes the site of origin file as a Stream and describes its content type.

例として、次のコードは、GetRemoteStream を使用して元のファイルの Page サイトを読み込み、Frame (pageFrame) のコンテンツとして設定する方法を示しています。As an example, the following code shows how to use GetRemoteStream to load a Page site of origin file and set it as the content of a Frame (pageFrame).

// Navigate to xaml page
Uri uri = new Uri("/SiteOfOriginFile.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetRemoteStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();
Page page = (Page)reader.LoadAsync(info.Stream);
this.pageFrame.Content = page;
' Navigate to xaml page
Dim uri As New Uri("/SiteOfOriginFile.xaml", UriKind.Relative)
Dim info As StreamResourceInfo = Application.GetRemoteStream(uri)
Dim reader As New System.Windows.Markup.XamlReader()
Dim page As Page = CType(reader.LoadAsync(info.Stream), Page)
Me.pageFrame.Content = page

@No__t_0 を呼び出すと Stream にアクセスできますが、それを設定するプロパティの型に変換する追加作業を実行する必要があります。While calling GetRemoteStream gives you access to the Stream, you need to perform the additional work of converting it to the type of the property that you'll be setting it with. 代わりに、コードを使用して、リソースファイルを型のプロパティに直接読み込むことによって、Stream を開いて変換できるように WPFWPF できます。Instead, you can let WPFWPF take care of opening and converting the Stream by loading a resource file directly into the property of a type using code.

次の例は、コードを使用して Frame (pageFrame) に Page を直接読み込む方法を示しています。The following example shows how to load a Page directly into a Frame (pageFrame) using code.

Uri pageUri = new Uri("pack://siteoforigin:,,,/SiteOfOriginFile.xaml", UriKind.Absolute);
this.pageFrame.Source = pageUri;
Dim pageUri As New Uri("pack://siteoforigin:,,,/Subfolder/SiteOfOriginFile.xaml", UriKind.Absolute)
Me.pageFrame.Source = pageUri

次の例は、上の例と同じ意味のマークアップです。The following example is the markup equivalent of the preceding example.

<Frame Name="pageFrame" Source="pack://siteoforigin:,,,/SiteOfOriginFile.xaml" />

ビルドの種類を変更した後のリビルドRebuilding After Changing Build Type

アプリケーション データ ファイルのビルドの種類を変更した後は、変更を確実に反映するためにアプリケーション全体をリビルドする必要があります。After you change the build type of an application data file, you need to rebuild the entire application to ensure those changes are applied. アプリケーションのみをビルドしても、変更は適用されません。If you only build the application, the changes are not applied.

関連項目See also