gpt4 book ai didi

silverlight - Silverlight:线程/延迟的操作/异步调用/事件

转载 作者:行者123 更新时间:2023-12-03 13:18:12 25 4
gpt4 key购买 nike

我有以下情形:当用户将鼠标移出弹出窗口时,我希望动画发生,五秒钟后,我想删除一个弹出窗口。

这是我期望使用的代码:

private bool leftPopup = false;
public void AnimatePopupOut(object sender, MouseEventArgs e)
{
myAnim.Begin();
(new Thread(new ThreadStart(delayedRemovePopup))).Start();
}

private void delayedRemovePopup()
{
leftPopup = true;
Thread.Sleep(5000);
PopUp.IsOpen = false;
}

第一行“leftPopup = true”很好,但是第三行“PopUp.IsOpen = false”给我访问冲突异常,可能是因为该对象属于GUI线程。有什么方法可以访问PopUp.IsOpen属性?如果不是,是否有另一种方法可以让我在一段时间后调用事件?

干杯

尼克

最佳答案

尝试使用PopUp.Dispatcher.Invoke()。这将编码(marshal)您对UI线程的调用。

关于silverlight - Silverlight:线程/延迟的操作/异步调用/事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/590584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com