Recursos de imagem WPF e editor de recursos do Visual Studio 2010
-
26-09-2019 - |
Pergunta
Minha motivação para esta pergunta é realmente apenas especificar uma imagem a ser usada em um controle do usuário por meio de uma propriedade de dependência para o Imagesource. Estou atingindo alguns pontos problemáticos envolvendo o gerenciamento, o acesso e os testes de unidade para isso.
- O Editor de Recursos é uma boa ferramenta a ser usada para manter imagens para o aplicativo?
- Qual é a melhor maneira de traduzir o bitmap do editor para uma área de imagens?
- Como posso pegar o nome do recurso do nome do editor?
Solução
Não, o editor de recursos não é uma boa ferramenta para isso.
Em um aplicativo WPF, a melhor maneira é colocar todas as suas imagens em um diretório "imagens" e marcar cada um como um "recurso". Em seguida, você pode referenciá -los diretamente nos controles de imagem e em outros lugares.
Aqui estão as etapas precisas:
- Corte e ajuste suas imagens usando seu programa de edição de bitmap favorito (Paint.net, Photoshop, etc)
- Salve -os como arquivos .png (ou .jpg ou .gif, se preferir)
- Crie uma pasta "imagens" dentro da sua solução do Visual Studio (ou várias pastas, no entanto, você deseja organizá -la)
- Arraste as imagens do seu disco rígido para a pasta "imagens" (ou clique com o botão direito do mouse no projeto, selecione Novo -> Item existente e selecione as imagens)
Agora você pode fazer referência às suas imagens facilmente em xaml:
<Image Source="Images/MyImage.png" />
Ou em código:
var source = (BitmapSource)Application.LoadComponent(
new Uri("Images/MyImage.png", UriKind.Relative));
Você também pode fazer referência a imagens em montagens externas:
<Image Source="ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png" />
Qual no código seria:
var source = (BitmapSource)Application.LoadComponent(
new Uri("ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png",
UriKind.Relative));