这是我现在这样做的方式,但我不确定它是否效率低下,因为运行时是 O(n):
foreach (Window window in Application.Current.Windows)
{
if (window.GetType() == typeof(TransactionsWindow))
{
this.Owner = window;
}
}
有没有办法让它保持不变或更有效的方法?基本上,我试图确认我是否以正确的方式做事——一直在努力改进。窗口被按钮事件打开,所以我想知道是否有办法找出从哪个窗口调用事件并将该窗口分配为所有者,而不必搜索所有打开的窗口并硬编码所有者类型。