【发布时间】:2023-12-31 20:13:01
【问题描述】:
我有一个非静态类MainWindow,它包含两个非静态方法ShowAskAQuestionDialog() 和ShowTechSupportForum()。我从MainWindow 实例打开的另一个窗口调用这些方法。如何使用MainWindow 的这个实例来调用这两个方法?我试过这样做......
MainWindow mainWindow = (MainWindow)this.Owner;
mainWindow.ShowAskAQuestionDialog();
但我猜 MainWindow 实际上并不是从它打开的新窗口的所有者。
有没有办法引用MainWindow 的那个实例?
我知道我可以做一些与 LINQ 相关的事情,比如
var windows = Application.Current.Windows
.OfType<Window>()
.Where(x => x.GetType() != typeof(MainWindow)
但我希望有像this.Parent 或this.Previous 这样的东西,不可能同时选择MainWindow 的流浪实例
【问题讨论】:
-
您可以创建一个包含窗口实例的公共属性,并使用它调用您的方法。
-
为了做到这一点按照您尝试的方式,您只需在不同的窗口上设置
.Owner属性。 -
我同意上面的罗德里戈......这将是最简单的事情
标签: c# .net wpf non-static