windows . activate()不能正常工作

本文关键字:工作 常工作 不能 activate windows | 更新日期: 2023-09-27 18:11:57

有时,Window.Activate()不能在其他系统中工作。

var window = Application.Current.Windows.OfType<Window>().FirstOrDefault(y => y.IsActive) ?? Application.Current.Windows.OfType<Window>().FirstOrDefault();
if (window != null) 
    window.Activate();

我想要一个在任何系统中都不会失败的解决方案,并想知道造成这种情况的主要原因。

windows . activate()不能正常工作

如果从非ui线程调用它可能会失败。在这种情况下,您应该将调用封装到调度程序中。

Application.Current.Dispatcher.Invoke(() =>
{       
    ///.... UI stuff
});