WPF - zmiana kursora myszki po wywołaniu nowego wątku

Odpowiedz Nowy wątek
2015-08-14 18:06
0

Witam,
chciałbym tworzyć nowe okno w oddzielnym wątku, a podczas tworzenia tego okna zmieniać kursor myszki.
Poniższy kod poprawnie tworzy nowe okno, ale nie jest widoczna zmiana kursora.


    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            this.Cursor = Cursors.Wait;            

            Thread newWindowThread = new Thread(new ThreadStart(() =>
            {                
                Window1 tempWindow = new Window1();
                Thread.Sleep(2000);
                tempWindow.Show();
                System.Windows.Threading.Dispatcher.Run();                
            }));

            newWindowThread.SetApartmentState(ApartmentState.STA);
            newWindowThread.IsBackground = true;
            newWindowThread.Start();

            this.Cursor = Cursors.Arrow;
        }
    }

Pozostało 580 znaków

2015-08-14 18:19
0

Zmiana nie jest widoczna, bo operacje pomiędzy ustawieniem Cursor.Wait, a Cursor.Arrow zajmują tak mało czasu, że nawet tego nie zauważasz.

A tak poza tym to używanie gołego Thread to słaby pomysł.

Pozostało 580 znaków

2015-08-14 18:33
0

To są moje początki z wątkami, przykład tworzenia okna w nowym wątku znalazłem gdzieś w sieci.
A jak poprawić ten kod, aby zmiana kursora była widoczna?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0