public MainWindow()
 {
     App.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
     worker.DoWork += new DoWorkEventHandler(worker_DoWork);
     worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
     System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon();
     ni.Icon = new System.Drawing.Icon("Tray.ico");
     ni.Visible = true;
     ni.DoubleClick +=
         delegate(object sender, EventArgs args)
         {
             this.Show();
             this.WindowState = WindowState.Normal;
         };
     myInstance = this;
     InitializeComponent();
     window=new QRWindow();
 }
        private void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                interpreter.BeginProccessing();
                qrString = SocketConnection.CreateConnection();

                myInstance.Dispatcher.Invoke(new Action(delegate()
                {
                    window = new QRWindow();
                        window.qrControl.Text = qrString;
                        window.Show();
                    }));
                connection = SocketConnection.GetConnectedSocket();
                myInstance.Dispatcher.Invoke(new Action(delegate() { window.Close();}));
            }
            catch (Exception ex)
            {
                Logger.Log(ex.ToString());
                return;
            }
        }
 private void QrCode_Click(object sender, RoutedEventArgs e)
 {
     window=new QRWindow();
     myInstance.Dispatcher.Invoke(new Action(delegate()
     {
         window.qrControl.Text = qrString;
         window.Show();
     }));
 }