我想要一个弹出窗口显示,而另一个表单从服务加载内容。 我可以实现这一点,但如果内容不止一次运行,内容就会从窗口中消失。 所以我试图使用Threads ...
private Forms_Controls.BusyPopupWindow pop = new Forms_Controls.BusyPopupWindow();
private void _ThreadPopupAnimation_DoWork(object sender, DoWorkEventArgs e)
{
int x = 0;
pop.Show();
}
private void _ThreadPopupAnimation_RunWorkerCompleted(object sender,
RunWorkerCompletedEventArgs e)
{
}
private readonly BackgroundWorker _ThreadPopupAnimation = new BackgroundWorker();
// Get the instance of the existing form.
private void GrdViewCompletedForms_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
_ThreadPopupAnimation.DoWork += new DoWorkEventHandler(_ThreadPopupAnimation_DoWork);
_ThreadPopupAnimation.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_ThreadPopupAnimation_RunWorkerCompleted);
_ThreadPopupAnimation.RunWorkerAsync();
// function continues to load form...
除了没有任何反应。线程中的代码被调用但没有做任何事情。 我尝试在弹出窗口中使用微调器,但在表单已经加载之前不起作用。
答案 0 :(得分:0)
我已经解决了非线程解决方案。弹出窗口显示静态内容,警告用户可能需要一段时间。在弹出窗口中发生的事情超出了我的范围!
public FormView(String jSon, String jSonContent, String addressLine1, String postCode, String instanceId, int OwnerID)
{
InitializeComponent();
BackgroundWorker _ThreadPopupAnimation = new BackgroundWorker();
BusyPopupWindow pop = new BusyPopupWindow();
pop.Show();
// load form full of media content...
var newFormCreator = new FormCreator(jSon, jSonContent, addressLine1, postCode, instanceId, OwnerID);
newFormCreator.OnFormsUpdated += newFormCreator_OnFormsUpdated;
mainContent.Content = newFormCreator;
pop.Close();
}