Окно WPF закрывается автоматически вскоре после загрузки - PullRequest
0 голосов
/ 19 сентября 2019

Главное окно WPF автоматически закрывается вскоре после показа в течение 1 секунды.У меня есть только это главное окно в проекте wpf.При запуске приложения ошибки не отображаются.Не показывая никакой ошибки, MainWindow просто закрывается вскоре после загрузки.В App.xaml.cs нет ничего кода.

Вот код, написанный в главном окне.

   public partial class MainWindow : Window
    {
      private Socket clientSocket;
      private byte[] buffer;

      public MainWindow()
      {
        InitializeComponent();
      }

      private bool CheckField()
      {
        if (txtIP.Text == string.Empty)
        {
            MessageBox.Show("Please specify IP Address");
            return false;
        }

        if (txtPort.Text == string.Empty)
        {
            MessageBox.Show("Please specify Port Number");
            return false;
        }

        return true;
    }

     private void btnGreen_Click(object sender, RoutedEventArgs e)
     {
        if(CheckField()) SendMessage("GREEN");
     }

     private void btnRed_Click(object sender, RoutedEventArgs e)
     {
        if (CheckField()) SendMessage("RED");
     }

     private void Window_Loaded(object sender, RoutedEventArgs e)
     {          
        try
        {
            clientSocket = new Socket(AddressFamily.InterNetwork, 
            SocketType.Stream, ProtocolType.Tcp);

            // if below code commented, window will not close

            clientSocket.BeginConnect(new IPEndPoint(IPAddress.Loopback, 
            3333), new AsyncCallback(ConnectCallback), null);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
     }

     private void ConnectCallback(IAsyncResult ar)
     {
        clientSocket.EndConnect(ar);
     }    

     public void SendMessage(string xmlstring)
     {
        try
        {
            byte[] xmlbuffer = Encoding.ASCII.GetBytes(xmlstring);
            clientSocket.BeginSend(xmlbuffer, 0, xmlbuffer.Length, 
            SocketFlags.None, new AsyncCallback(SendCallback), null);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
      }

      private void SendCallback(IAsyncResult ar)
      {
        clientSocket.EndSend(ar);
        buffer = new byte[clientSocket.ReceiveBufferSize];
      }

   }

Что здесь не так ???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...