private void UnloadFile() { if (holder.Source != null) { try { holder.Source = null; var ss = AnimationBehavior.GetSourceStream(holder); if (ss != null) { ss.Dispose(); } } catch (Exception e) { Console.WriteLine("Unload File Failed - " + e); } } }
/// <summary> /// GIFアニメ用に開いていたStreamを破棄 /// </summary> private void StopGifAnimation() { var element = this.AssociatedObject; if (element != null) { try { //前にGifアニメを再生していたら破棄 var prevStream = AnimationBehavior.GetSourceStream(element); if (prevStream != null) { AnimationBehavior.SetSourceStream(element, null); prevStream.Dispose(); } } catch { } } }