Pergunta

O que estou tentando fazer é tão simples, mas eu estou tendo dificuldade em fazê-lo funcionar. Eu vi algumas mensagens ao longo das mesmas linhas, mas eu ainda tenho perguntas.

Eu tenho um objeto MenuItem chamado mnuA. Tudo que quero é definir a propriedade ícone de programação em C #. Eu tentei o seguinte

a) mnuA.Icon = new BitmapImage{UriSource = new Uri(@"c:\icons\A.png")}; Resultados: em vez de mostrar o ícone real, eu recebo o nome da classe (System.Windows.Media.Imaging.BitmapImage)

b) mnuA.Icon = new BitmapImage(new Uri(@"c:\icons\A.png")); Resultados: em vez de mostrar o ícone real, eu recebo o caminho da imagem (file:///c:/icons/A.png)

O que estou fazendo de errado? Eu realmente preciso de uma classe de conversor para algo simples como este?

Foi útil?

Solução

Tente isto:

Image img = new Image();
img.Source = new BitmapImage(new Uri(@"c:\icons\A.png"));
mnuA.Icon = img;

Outras dicas

Pode ser um tiro longo, mas tente algo como:

Uri u = new Uri (...); mnuA.Icon = new BitmapImage (u);

O que parece seu acontecimento é que o ícone está sendo convertida para uma string.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top