public void ReplaceFromStream(MemoryStream memoryStream, NativeInstrumentsResource.ResourceStates resourceState)
        {
            State.State = resourceState;

            var tmpImage = new BitmapImage();

            tmpImage.BeginInit();
            tmpImage.CacheOption  = BitmapCacheOption.OnLoad;
            tmpImage.BaseUri      = null;
            tmpImage.StreamSource = memoryStream;
            tmpImage.EndInit();
            tmpImage.Freeze();

            Image = tmpImage;
        }
        public void ReplaceFromFile(string fileName,
                                    NativeInstrumentsResource.ResourceStates resourceState = NativeInstrumentsResource.ResourceStates.FromDisk)
        {
            State.State = resourceState;
            var tmpImage = new BitmapImage();

            using (var fs = new FileStream(fileName, FileMode.Open))
            {
                tmpImage.BeginInit();
                tmpImage.CacheOption  = BitmapCacheOption.OnLoad;
                tmpImage.BaseUri      = null;
                tmpImage.StreamSource = fs;
                tmpImage.EndInit();
                tmpImage.Freeze();
            }

            Image = tmpImage;
        }
        public void ReplaceFromBase64(string base64,
                                      NativeInstrumentsResource.ResourceStates resourceState = NativeInstrumentsResource.ResourceStates.FromWeb)
        {
            State.State = resourceState;

            var tmpImage = new BitmapImage();

            using (var ms = new MemoryStream(Convert.FromBase64String(base64)))
            {
                tmpImage.BeginInit();
                tmpImage.CacheOption  = BitmapCacheOption.OnLoad;
                tmpImage.BaseUri      = null;
                tmpImage.StreamSource = ms;
                tmpImage.EndInit();
                tmpImage.Freeze();
            }

            Image = tmpImage;
        }