希望标题有意义,但我会描述我的问题。我在Silverlight中使用一个子窗口来显示处理消息并在UI执行某些工作时旋转图像。调用完成事件后,窗口将关闭。
问题是,当子窗口打开然后在1秒内关闭时,UI执行快速任务时看起来有点难看。
我希望能够做的是只有在经过2秒处理后才打开子窗口,然后关闭完成。
我添加了一段我的xaml,我在下面给孩子打电话。我已经搜索过但找不到任何相关信息,这可能是不可能的。
void edit_Closed(object sender,EventArgs e) { EditChannelDetails edit = sender as EditChannelDetails;
if (edit.DialogResult == true)
{
if (edit != null)
{
Channel edited = new Channel();
edited.channelId = Int32.Parse(edit.ChannelID.Text);
edited.name = edit.ChannelName.Text;
edited.description = edit.ChannelDescription.Text;
ChannelClient proxy = new ChannelClient(new BasicHttpBinding(), new EndpointAddress("http://servername"));
proxy.UpdateChannelCompleted += new EventHandler<UpdateChannelCompletedEventArgs>(proxy_UpdateChannelCompleted);
proxy.UpdateChannelAsync(edited);
}
}
processingDialog.Show();
}
void proxy_UpdateChannelCompleted(object sender, UpdateChannelCompletedEventArgs e)
{
processingDialog.Close();
等.....
答案 0 :(得分:0)
Boolean closeFlag = false;
启动计时器:
DispatcherTimer timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(2) };
timer.Tick += (tts, tte) => {
timer.Stop();
closeFlag = true;
};
timer.Start();
并检查标志:
if (!closeFlag)
{
processingDialog.Close();
}