|
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
|
Tradução
Original
|
Recurso de aplicativo do WPF, conteúdo e arquivos de dados
-
Arquivos de recurso: arquivos de dados que são compilados em um executável ou assembly WPF de biblioteca. -
Arquivos de Conteúdo: arquivos de dados independentes que têm uma associação explícita com um assembly WPF executável. -
Locais de Arquivos de Origem: arquivos de dados independentes que não têm uma associação com um assembly WPF executável.
Este tópico contém as seções a seguir.
-
Você não precisa atualizar o conteúdo do arquivo de recursos após ser compilado em um assembly. -
Você quer simplificar a complexidade da distribuição da aplicação reduzindo o número de dependências de arquivos. -
Seu arquivo de dados de aplicação precisa ser localizável (veja A globalização do WPF e visão geral da localização).
Observação
|
|---|
|
|
Configurando Arquivos de Recursos
<Project "xmlns=http://schemas.microsoft.com/developer/msbuild/2003" ... >
...
<ItemGroup>
<Resource Include="ResourceFile.xaml" />
</ItemGroup>
...
</Project>
Observação |
|---|
Utilizando Arquivos de Recursos
// 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;
<Frame Name="pageFrame" Source="PageResourceFile.xaml" />
Arquivos de Código de Aplicação como Arquivos de Recurso
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" StartupUri="SOOPage.xaml" />
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >
...
<ItemGroup>
<Page Include="MainWindow.xaml" />
</ItemGroup>
...
</Project>
Observação |
|---|
Observação |
|---|
Configurando Arquivos de Conteúdo
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >
...
<ItemGroup>
<Content Include="ContentFile.xaml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
...
</Project>
Observação |
|---|
[assembly: AssemblyAssociatedContentFile("ContentFile.xaml")]
[assembly: AssemblyAssociatedContentFile("Resources/ContentFile.xaml")]
Utilizando Arquivos de Conteúdo
// 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;
<Frame Name="pageFrame" Source="PageContentFile.xaml" />
-
Um arquivo não existe em tempo de compilação. -
Você não sabe que seu conjunto exigirá até que o tempo de execução de arquivos. -
Você quer poder atualizar arquivos sem recompilar o assembly ao qual estão associados. -
Sua aplicação utiliza arquivos de dados grandes, tais como áudio e vídeo, e você só quer que os usuários efetuem o seu download se assim escolherem.
<Image Source="file:///C:/DataFile.bmp" /> <Image Source="http://www.datafilewebsite.com/DataFile.bmp" />
Observação
|
|---|
|
|
Configurando Arquivos de Local de Origem
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ... >
...
<None Include="PageSiteOfOriginFile.xaml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
...
</Project>
Observação |
|---|
Utilizando Arquivos de Local de Origem
// 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;
<Frame Name="pageFrame" Source="pack://siteoforigin:,,,/SiteOfOriginFile.xaml" />
Observação