Kod rozpoczyna się tylko wtedy, gdy Application.Run () jest wywoływany w aplikacji WPF

Mam metodę, która jest wywoływanaclass A i jest zdefiniowany wclass B:

class B{
      [STAThread]
        public static void ScanForAxisCameras() {
                DNSSDService service = new DNSSDService();
                DNSSDEventManager eventManager = new DNSSDEventManager();
                eventManager.ServiceFound += new _IDNSSDEvents_ServiceFoundEventHandler(eventManager_ServiceFound);
                DNSSDService browse = service.Browse(0, 0, "_axis-video._tcp", null, eventManager);
                Application.Run();//if not invoked everything above does not start
            }
}
class A{ ...before invoking..... B.ScanForAxisCameras(); ....after invoking....}

Kod wclass B „start” / działa tylko wtedy, gdy wywołamApplication.Run(). Ale powoduje to cały kodclass A ....after invoking.... metoda nie działa. Jak sobie z tym poradzić, aby nie zamrozić aplikacji?

Edytować: class A jestclass MainWindow.xaml.cs. Jest to aplikacja WPF.

public partial class MainWindow : Window {

        public MainWindow() {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e) {
            createGUI();
        }

        private void createGUI() {

            LocalNetworkScanner.ScanForAxisCameras();//when there is no Application.Run()  ScanForAxisCameras() does not work.
}
}

questionAnswers(5)

yourAnswerToTheQuestion