有时,Window.Activate()
无法在其他系统中使用。
var window = Application.Current.Windows.OfType<Window>().FirstOrDefault(y => y.IsActive) ?? Application.Current.Windows.OfType<Window>().FirstOrDefault();
if (window != null)
window.Activate();
我想要一个不应该在任何系统中失败的解决方案,并且也想知道其主要原因。
答案 0 :(得分:0)
如果从非UI线程调用它,则可能会失败。在这种情况下,您应该将调用包装到调度程序中。
Application.Current.Dispatcher.Invoke(() =>
{
///.... UI stuff
});