Files
Angel6/WPF/03-TreeViewsSimpleViewModel/WpfTreeView/HeaderToImageConverter.cs
2017-05-29 21:01:07 +01:00

41 lines
1.3 KiB
C#

using System;
using System.Globalization;
using System.IO;
using System.Windows.Data;
using System.Windows.Media.Imaging;
namespace WpfTreeView
{
/// <summary>
/// Converts a full path to a specific image type of a drive, folder or file
/// </summary>
[ValueConversion(typeof(DirectoryItemType), typeof(BitmapImage))]
public class HeaderToImageConverter : IValueConverter
{
public static HeaderToImageConverter Instance = new HeaderToImageConverter();
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
// By default, we presume an image
var image = "Images/file.png";
switch ((DirectoryItemType)value)
{
case DirectoryItemType.Drive:
image = "Images/drive.png";
break;
case DirectoryItemType.Folder:
image = "Images/folder-closed.png";
break;
}
return new BitmapImage(new Uri($"pack://application:,,,/{image}"));
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}