Exemplo n.º 1
0
        static void Main(string[] args)
        {
            WinRT.ComWrappersSupport.InitializeComWrappers();

            OutputStack = new();

            bool isRedirect = DecideRedirection();

            if (!isRedirect)
            {
                Microsoft.UI.Xaml.Application.Start((p) =>
                {
                    var context = new DispatcherQueueSynchronizationContext(
                        DispatcherQueue.GetForCurrentThread());
                    SynchronizationContext.SetSynchronizationContext(context);
                    new App();
                });
            }
        }
Exemplo n.º 2
0
 private void OnNewWindow(object sender, RoutedEventArgs e)
 {
     if ((bool)IsSameThread.IsChecked)
     {
         MainWindow mainWindow = new MainWindow();
         mainWindow.Activate();
     }
     else
     {
         var thread = new Thread(() =>
         {
             var syncContext = new DispatcherQueueSynchronizationContext(Microsoft.System.DispatcherQueue.GetForCurrentThread());
             SynchronizationContext.SetSynchronizationContext(syncContext);
             Application.Start((p) =>
             {
                 MainWindow mainWindow = new MainWindow();
                 mainWindow.Activate();
             });
         });
         thread.SetApartmentState(ApartmentState.STA);
         thread.Start();
     }
 }