2009-10-11 5 views

Répondre

1

Après plusieurs essais et erreurs que j'ai trouvé le code ci-dessous pour travailler, il est vrai, sans comprendre pleinement:

var window=new Window(); 
var uri=new Uri("pack://application:,,,/MyAssembly;component/Icon.ico", 
       UriKind.RelativeOrAbsolute)); 
// var uri=new Uri("icon.ico",UriKind.Relative) works just as well 
window.Icon = BitmapFrame.Create(uri); 
+0

Impossible de convertir implicitement le type 'System.Windows.Media.Imaging.BitmapFrame' en 'System.Drawing.Icon' –

0

Ceci est le "schéma URI du pack". Vous pouvez trouver plus d'informations sur MSDN: http://msdn.microsoft.com/en-us/library/aa970069.aspx

Dans le code-behind, vous pouvez écrire:

BitmapImage bitmap = new BitmapImage(); 
bitmap.BeginInit(); 
bitmap.UriSource = new Uri("pack://application:,,,/MyNamespace;component/myIcon.ico"); 
bitmap.EndInit(); 
this.Icon = bitmap; 

Notez que la partie « MyNamespace » n'est pas en réalité l'espace de noms (depuis une REA est pas de code, il n'a pas d'espace de noms), mais le nom de l'assembly.

+0

je reçois une erreur indiquant qu'une chaîne ne peut pas être affectée à la propriété UriSource – Dabblernl

+0

OK, je fixe la code ... –

+0

Essayez comme je pourrais je ne pourrais pas obtenir votre code au travail. Il semble que BitmapImage n'est pas une ImageSource acceptable, le type de la propriété Icon. Mais je ne peux pas dire que j'ai maîtrisé les différents concepts Bitmap et Image de WPF. – Dabblernl

Questions connexes