private static DropWindow getDropWindow(System.Windows.Application app) { DropWindow dropWindow = null; foreach (var window in app.Windows) { if (window is DropWindow) { dropWindow = (DropWindow)window; break; } } return(dropWindow); }
public override void ShowDropWindow() { if (App.Current.Dispatcher.CheckAccess()) { try { base.ShowDropWindow(); var app = (App)System.Windows.Application.Current; var dropWindow = getDropWindow(app); var searchWindow = getSearchWindow(app); if (dropWindow == null) { dropWindow = new DropWindow(); dropWindow.Init(); } if (dropWindow != null) { if (searchWindow != null) { searchWindow.Hide(); } dropWindow.Topmost = true; dropWindow.Show(); dropWindow.Activate(); dropWindow.Topmost = false; //var wih = new System.Windows.Interop.WindowInteropHelper(dropWindow); //wih.Handle } } catch (Exception exception) { App.ApplicationBuis.OnFatalException("TNDApplicationBuis2.ShowTag", exception); } } else { App.Current.Dispatcher.Invoke(this.ShowDropWindow); } }