C# 在WPF中的UserControl内部设置窗口所有者
我有一个C# 在WPF中的UserControl内部设置窗口所有者,c#,wpf,window,parent,owner,C#,Wpf,Window,Parent,Owner,我有一个UserControl,它在任务栏中显示一个没有图标的窗口,问题是当主窗口失去焦点并再次获取时,没有任务栏图标的窗口在主窗口后面,很难再次在前面显示,这个问题通过使用window.Owner=this解决当类是一个窗口,但当它是UserControl或其他类型(例如ListBoxItem,Viewbox)时,我无法执行此操作。我试图这样做control.Owner=(Window)this但结果引发一个异常,网格无法转换为的窗口(int index=0;index
UserControl
,它在任务栏中显示一个没有图标的窗口,问题是当主窗口失去焦点并再次获取时,没有任务栏图标的窗口在主窗口后面,很难再次在前面显示,这个问题通过使用window.Owner=this解决代码>当类是一个窗口,但当它是UserControl
或其他类型(例如ListBoxItem
,Viewbox
)时,我无法执行此操作。我试图这样做control.Owner=(Window)this
但结果引发一个异常,网格
无法转换为的窗口
(int index=0;index for (int index=0;index< App.Current.Windows.Count;index++ )
{
if (App.Current.Windows[index].Title == "MyWindow")
control.Owner = App.Current.Windows[index];
}
{
如果(App.Current.Windows[index].Title==“MyWindow”)
control.Owner=App.Current.Windows[index];
}
此处Title是要设置为所有者的窗口的标题。使用
window.Owner = Window.GetWindow(this);
可能
control.Owner=Application.Current.main窗口代码>或者你可以通过VisualTreeHelper找到可视化父窗口。谢谢你的回答,这并不是我想要解决的问题,但我发现它在我正在创建的应用程序的某些部分很有用,谢谢,我给+1。