2012-02-17 53 views
0

有點怪一個......我的應用程序運行時,我一個自定義的控件添加到一個StackPanel上像這樣一個點擊按鈕的時候......子控件消失運行已在運行的應用程序

void btnAddPlayer_Click(object sender, EventArgs e) 
{ 
    PlayerControl sbItem = new PlayerControl(); 
    ctlPanel.Children.Add(sbItem); 
} 

(ctlPanel是一個StackPanel PlayerControl從用戶控件繼承了標準控制)

所以我加一個或兩個,而不是一個問題......如果在手機上我多任務到不同的應用程序,那麼多任務回我的應用程序,而不是一個問題...但是,如果我多任務(或擊中Windows手機按鈕),然後而不是多任務回來,我只需點擊圖標(如果我再次運行該應用程序)它重裝我的應用程序,但在StackPanel中沒有任何PlayerControl ...並且在調試時,它不會觸發頁面構造函數中的InitializeComponents()方法(當然這可能是因爲它可能不會在您從菜單直接運行時進行調試)

任何人都知道如果只有一個應用程序只能運行一次(如果用戶再次運行該應用程序不重新啓動它)?

回答

0

它不起作用。您可以保存應用程序的「狀態」,並在啓動應用程序時加載該狀態。看看windows手機的「墓碑式」。例如,您可以在本地存儲中保存當前的屏幕ID和其他任何必要的數據,並且當您啓動應用程序時,如果您在本地存儲中擁有某些內容,則可以加載該屏幕,否則以您的主頁開始。

+0

啊好的,所以基本上我每次做任何事情都要保存狀態?否則有事件告訴我該應用程序正在重新啓動? – Wacka 2012-02-17 20:31:24

+0

是的,我確定有事件發生,除了我的頭頂上還有事件,如Application_Deactivated,Application_Activated,Application_Launching等。 – 2012-02-18 16:23:58