2010-06-30 58 views
0

我有一個WPF應用程序與主窗口中的3個不同的UserControls,只有其中一個是可見的。這就像有3個不同的頁面,當你喜歡它時,你可以從一個頁面切換到另一個頁面。第一頁就像一個開始屏幕。其次就像「普遍觀點」。第三頁顯示細節。 切換它們可以與Storyboard一起使用。我只是使可見頁面不可見(不透明度爲零)並將其移出可見窗口區域,並將新頁面移動到可見窗口區域並使其可見。到目前爲止這麼好...(希望你明白我想告訴^^)如何在WPF應用程序中執行類似屏保的操作?

但它會很高興有像屏保模式。我想要的是: 當用戶什麼都不做,讓我們說,2分鐘,然後故事板應該運行,讓你回到startscreen-view。

這將如何工作?

回答

1

您可以使用DispatcherTimer跟蹤應用程序空閒時間。無論何時在除StartScreen以外的屏幕中啓動此計時器。只要窗口有鼠標事件,就將計時器重置爲零。將計時器持續時間設置爲2分鐘,以便在定時器回調時使啓動屏幕可見。

+0

謝謝你的快速回答。我會嘗試的。 – user370446 2010-06-30 10:54:58

+0

所以它的作品。但它有點複雜。我的應用程序是一個Microsoft Surface應用程序。我沒有鼠標事件,但我有聯繫事件。 我的新問題:如果我正確理解你,我必須堅持這個「timer.Stop(); timer.Start();」 - 每個事件在我的每個usercontrols? 我可以做到這一點,但那是相當多的寫作,它似乎並不高雅。 會有更簡單的方法做到這一點? – user370446 2010-06-30 11:20:39

+1

如果你在Surface中使用,那麼它非常簡單。只需使用主窗口中的PreviewContactDown事件來重置計時器。 – Ragunathan 2010-06-30 11:39:30

相關問題