FlawView.xaml.cs 1.67 KB
using OS.Spin.Common;
using OS.Spin.ViewModle.Flaw;
using System.Windows;
using System.Windows.Media;

namespace OS.Spin.View.Windows
{
    /// <summary>
    /// FlawView.xaml 的交互逻辑
    /// </summary>
    public partial class FlawView : Window
    {
        public FlawView()
        {
            InitializeComponent();
        }

        private static FlawView _instance;
        public static FlawView GetInstance(ImageSource flaw, string name)
        {
            if (_instance == null)
            {
                _instance = new FlawView(flaw, name);
            }
            else
            {
                if (_instance.WindowState == WindowState.Minimized)
                    _instance.WindowState = WindowState.Maximized;
                _instance.Topmost = true;
            }
            return _instance;
        }
        private ImageSource _flaw;
        private string _name;
        public FlawView(ImageSource flaw, string name)
        {
            InitializeComponent();
            _name = name;
            _flaw = flaw;
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                if (null != _flaw)
                {
                    Flaw.Source = _flaw;
                    this.Title = string.Format("瑕疵快照-[{0}]", _name);
                }
            }
            catch (System.Exception ex)
            {
                LogisTrac.WriteLog(string.Format("Window_Loaded:{0}", ex.Message));
            }

        }

        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            _instance = null;
        }
    }
}