--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Globalization;\r
+using System.Windows.Data;\r
+using System.Windows.Media.Imaging;\r
+using Hardcodet.Wpf.TaskbarNotification;\r
+\r
+namespace Pithos.Client.WPF.Shell\r
+{\r
+ class BalloonIconConverter:IValueConverter\r
+ {\r
+\r
+ Dictionary<BalloonIcon,BitmapImage> _iconCache=new Dictionary<BalloonIcon,BitmapImage>();\r
+\r
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r
+ {\r
+ BitmapImage image;\r
+ \r
+ var icon = (BalloonIcon) value;\r
+ if (icon == BalloonIcon.None)\r
+ return null;\r
+\r
+ if (!_iconCache.TryGetValue(icon, out image))\r
+ {\r
+ var imagePath = String.Format("/Pithos.Client.WPF;component/Images/{0}.png", Enum.GetName(typeof(BalloonIcon), value));\r
+ var uri = new Uri(imagePath, UriKind.Relative);\r
+ image=new BitmapImage(uri);\r
+ _iconCache[icon] = image;\r
+ }\r
+ return image;\r
+\r
+ }\r
+\r
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)\r
+ {\r
+ throw new NotImplementedException();\r
+ }\r
+ }\r
+}\r