在WPF中的UserControl内部设置Window所有者

本文关键字:设置 Window 所有者 内部 UserControl WPF 中的 | 更新日期: 2023-09-27 18:28:19

我有一个UserControl,它在任务栏中显示一个没有图标的窗口,问题是当主窗口失去焦点并再次获得它时,没有任务栏图标的窗口在主窗口后面,很难再次显示在前面,当类是窗口时,使用window.Owner = this;可以解决这个问题,但当是UserControl或其他类型(例如ListBoxItemViewbox)时,我无法做到这一点。我试着这样做control.Owner = (Window)this;,但结果抛出了一个异常,即Grid无法转换为Window

在WPF中的UserControl内部设置Window所有者

使用

window.Owner = Window.GetWindow(this);
 for (int  index=0;index< App.Current.Windows.Count;index++ )
        {
            if (App.Current.Windows[index].Title == "MyWindow")
                control.Owner = App.Current.Windows[index];
        } 

这里的标题是要设置为所有者的窗口的标题。