2012-02-17 35 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