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.
}
}