我在Visual Studio中創建了一個空項目,並添加了所需的程序集引用,一個具有靜態Main函數和WPF窗口的類。阻止應用程序關閉
然後,我創建一個窗口的實例並顯示它,但執行後一切都關閉,因爲沒有任何東西保持線程打開/運行。
添加一個while(true)
循環會使其保持打開狀態,但會凍結主線程。
將while(true)
循環添加到新線程可使該線程保持打開狀態,但主線程仍然會關閉其他所有內容來完成執行。
我該如何讓應用程序保持打開狀態?
我在Visual Studio中創建了一個空項目,並添加了所需的程序集引用,一個具有靜態Main函數和WPF窗口的類。阻止應用程序關閉
然後,我創建一個窗口的實例並顯示它,但執行後一切都關閉,因爲沒有任何東西保持線程打開/運行。
添加一個while(true)
循環會使其保持打開狀態,但會凍結主線程。
將while(true)
循環添加到新線程可使該線程保持打開狀態,但主線程仍然會關閉其他所有內容來完成執行。
我該如何讓應用程序保持打開狀態?
最簡單的答案是隻用股票WPF應用程序項目,而不是滾動你自己的,因爲它的生成代碼爲你處理。
較長的答案是明確利用Application.Run
。你可以看到這個框架在這個答案中做了什麼:https://stackoverflow.com/a/2694710/1783619
這使得長時間運行的線程,以便你的應用程序不會像以前那樣提前終止。
創建一個新的WPF應用程序/項目:
在Visual Studio中做的:文件 - >新建 - >項目 - >的Visual C# - > WPF應用程序
我在窗體應用程序中看到了Application.Run,但函數只接受Windows窗體,我想用WPF窗口。 – Anomaly 2014-09-30 18:20:59
@Anomly WPF版本將使用WPF Application對象(請參閱標準的App.xaml.cs)。它是相同的函數調用,如鏈接的SO帖子所示。 – BradleyDotNET 2014-09-30 18:22:58
哦,我現在只看到了,謝謝,問題解決了。 – Anomaly 2014-09-30 18:28:07