Wenn WPF keine geeigneten Konverter hat es nur Anrufe die ToString()
Methode, das Bitmap-Format ist nicht geeignet, was wollen Sie in der Regel verwenden, ist ein Image
mit einer Quelle, die ein BitmapImage
ist, gibt es mehr Möglichkeiten, um Konvertierungen zwischen die verschiedenen Formate.
Hier ist eine Methode, die eine Umwandlung Bitmap
-BitmapImage
tut:
public static BitmapImage BitmapToBitmapImage(System.Drawing.Bitmap bitmap)
{
MemoryStream ms = new MemoryStream();
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
BitmapImage bImg = new System.Windows.Media.Imaging.BitmapImage();
bImg.BeginInit();
bImg.StreamSource = new MemoryStream(ms.ToArray());
bImg.CreateOptions = BitmapCreateOptions.None;
bImg.CacheOption = BitmapCacheOption.Default;
bImg.EndInit();
ms.Close();
return bImg;
}
Beachten Sie, dass ImageFormat.Png
langsamer als unkomprimierte Formate aber es behält die Transparenz, wenn es irgendwelche gibt.
Jetzt sollten Sie in der Lage sein, dies als Quelle eines Bildsteuerelements und dieses Bildsteuerelement als Inhalt der Schaltfläche zu verwenden.
Ich glaube, Sie müssen den Standard-Control mit einem Ihrer eigenen außer Kraft setzen, dies zu tun ... oder herausfinden, ob die Togglebutton hat ein DataTemplate-Feld und verwendet stattdessen: p – Machinarius