在为Silverlight平台编程时,我发现我无法在同一个用户启动的事件中调用需要用户启动的两个函数,一个接着一个。
例如,假设我想在同一个按钮单击事件中调用IsolatedStorage.IncreaseQuotaTo和SaveFileDialog.ShowDialog。我不能,因为如果进行了IncreaseQuotaTo调用,则showdialog(或openfile)调用会抛出“必须是用户启动的”异常。问题是它是用户启动的,除了它在它之前调用用户启动的函数。
在用户发起的事件中,我应该可以根据需要调用这些“仅用户启动”功能,但是,我仅限于一个。似乎Silverlight正在监视这些函数的调用堆栈,并确保只执行一个函数。
这是一个错误吗?