    using Earthblend.Nts.Common.Interfaces;
    using Earthblend.Nts.Common.Statics;
    using global::Earthblend.Nts.Common;
    using System;
    using System.IO;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Xml.Serialization;

namespace Earthblend.Nts.Common.Members
{
    /// <summary>
    /// using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read))
    /// {
    ///     BitmapFrame frame = BitmapFrame.Create(fileStream, BitmapCreateOptions.DelayCreation, BitmapCacheOption.None);
    ///     Size s = new Size(frame.PixelWidth, frame.PixelHeight);
    /// }
    /// </summary>
    //public class ImageDataItem : CustomBindableBase, IImageDataItem
    //{
    //    #region Protectected Constructor(s)

    //    public ImageDataItem()
    //    {

    //    }

    //    //public ImageDataItem(String pluginName) : base(pluginName)
    //    //{

    //    //}

    //    #endregion

    //    public void SetImagePath(String imagePath)
    //    {
    //        _imagePath = imagePath;
    //    }

    //    public void SetImageName(String imageName)
    //    {
    //        _imageName = imageName;
    //    }

    //    #region Private Variables

    //    private String _imagePath = @"Images\WorkflowSelector\";
    //    private String _imageName = "Point5.png";
    //    private String _imagePathDefault = @"Images\WorkflowSelector\";
    //    private String _imageNameDefault = "Point5.png";
    //    private String _importPath;
    //    private String _ext;
    //    private Byte[] _imageBytes;
    //    private Boolean _showImage;
    //    private Double _opacity = 1.0D;
    //    private Int64 _size = 0;

    //    #endregion

    //    #region Public Clr Properties

    //    public String Ext
    //    {
    //        get { return _ext; }
    //        set { SetProperty(ref _ext, value); }
    //    }
    //    public Int64 Size
    //    {
    //        get { return _size; }
    //        set { SetProperty(ref _size, value); }
    //    }
    //    public String ImagePath
    //    {
    //        get { return _imagePath; }
    //        set
    //        {
    //            SetProperty(ref _imagePath, value);
    //            if (File.Exists(FullImageName) && ShowImage)
    //            {
    //                NotifyPropertyChanged("FullImageName");
    //                NotifyPropertyChanged("FullImageBrush");
    //            }
    //        }
    //    }

    //    public String ImagePathDefault
    //    {
    //        get { return _imagePathDefault; }
    //        set
    //        {
    //            SetProperty(ref _imagePathDefault, value);
    //            if (File.Exists(FullImageNameDefault) && ShowImage)
    //            {
    //                NotifyPropertyChanged("FullImageNameDefault");
    //                NotifyPropertyChanged("FullImageBrushDefault");
    //            }
    //        }
    //    }

    //    public String ImageName
    //    {
    //        get { return _imageName; }
    //        set
    //        {
    //            SetProperty(ref _imageName, value);
    //            NotifyPropertyChanged("FullName");
    //            if (File.Exists(FullImageName) && ShowImage)
    //            {
    //                NotifyPropertyChanged("FullImageName");
    //                NotifyPropertyChanged("FullImageBrush");
    //            }
    //        }
    //    }

    //    public String ImageNameDefault
    //    {
    //        get { return _imageNameDefault; }
    //        set
    //        {
    //            SetProperty(ref _imageNameDefault, value);
    //            NotifyPropertyChanged("FullNameFault");
    //            if (File.Exists(FullImageNameDefault) && ShowImage)
    //            {
    //                NotifyPropertyChanged("FullImageNameDefault");
    //                NotifyPropertyChanged("FullImageBrushDefault");
    //            }
    //        }
    //    }

    //    [XmlIgnore]
    //    public Byte[] ImageBytes
    //    {
    //        get { return _imageBytes; }
    //        set
    //        {
    //            SetProperty(ref _imageBytes, value);
    //            NotifyPropertyChanged("FullName");
    //        }
    //    }

    //    public String ImportPath
    //    {
    //        get { return _importPath; }
    //        set { SetProperty(ref _importPath, value); }
    //    }

    //    public Boolean ShowImage
    //    {
    //        get { return _showImage; }
    //        set { SetProperty(ref _showImage, value); }
    //    }

    //    public Double Opacity
    //    {
    //        get { return _opacity; }
    //        set { SetProperty(ref _opacity, value); }
    //    }

    //    public String FullImageName
    //    {
    //        get { return VirtualSystemUtil.GetImageDrive() + ImagePath + ImageName; }
    //    }

    //    public String FullImageNameDefault
    //    {
    //        get { return VirtualSystemUtil.GetImageDrive() + ImagePathDefault + ImageNameDefault; }
    //    }

    //    public String FullImagePath
    //    {
    //        get { return VirtualSystemUtil.GetImageDrive() + ImagePath; }
    //    }

    //    public ImageBrush FullImageBrush
    //    {
    //        get
    //        {
    //            if (String.IsNullOrEmpty(ImagePath) || String.IsNullOrEmpty(ImageName)) return null;
    //            else
    //            {
    //                Uri uri = new Uri(VirtualSystemUtil.GetImageDrive() + ImagePath + ImageName);
    //                if (File.Exists(uri.AbsolutePath))
    //                    return new ImageBrush(new BitmapImage(uri)) { Opacity = 1.0 };
    //                else return null;
    //            }
    //        }
    //    }

    //    public ImageBrush FullImageBrushDefault
    //    {
    //        get
    //        {
    //            if (String.IsNullOrEmpty(ImagePathDefault) || String.IsNullOrEmpty(ImageNameDefault)) return null;
    //            else
    //            {
    //                Uri uri = new Uri(VirtualSystemUtil.GetImageDrive()
    //                    + ImagePathDefault + ImageNameDefault);
    //                if (File.Exists(uri.AbsolutePath))
    //                    return new ImageBrush(new BitmapImage(uri));
    //                else return null;
    //            }
    //        }
    //    }

    //    #endregion
    //}
}

