2 Stimmen

Animation in WPF Animation in WPF

Ich bin Anfänger in WPF. Ich möchte mein Formular bei jedem Tick anzeigen. Aber es wird nur einmal angezeigt. Wenn ich das debugge, wird im Timer-Tick-Ereignis this.topmost=true erreicht, aber das Fenster wird nicht angezeigt. Ich bin mir nicht sicher, was mit diesem Code falsch ist.

public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();

                timer.Interval = new TimeSpan(0, 0, 0, 2, 0);

                timer.Tick += tick;                  

                timer.Start();                   

        }
        private void tick(object sender, EventArgs e)
        {

            this.Topmost = true;//Formular anzeigen
            this.Show();

        }
    }

0voto

Mark Hall Punkte 53115

Dies sollte tun, was du willst. Ich habe das WPF-Fenster, das du deinem Client zeigen wolltest, in ein anderes Formular verschoben. Dann habe ich ein weiteres Startformular erstellt, das versteckt ist und den Timer ausführt, der periodisch deine Animation zeigt.

Startformular:

Code-Behind des Startformulars:

public partial class MainWindow : Window
{

    Window1 cyclicWindow;

    public MainWindow()
    {
        InitializeComponent();
        cyclicWindow = new Window1();
        cyclicWindow.Show();
        cyclicWindow.Topmost = true;
        System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
        timer.Interval = new TimeSpan(0, 0, 0, 20, 0);
        timer.Tick += tick;
        timer.Start();
    }

    private void tick(object sender, EventArgs e)
    {

        if (cyclicWindow != null)
        {
            cyclicWindow.Close() ;
        }

        cyclicWindow = new Window1();
        cyclicWindow.Show();
        cyclicWindow.Topmost = true;

    }

}

Zyklusfenster:

Code-Behind des Zyklusfensters:

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
        AllowsTransparency = true;
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X