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?
Foi útil?

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));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top