你能从App.Xaml.cs中调用MainWindow.Xaml.cs中的函数吗?

nic*_*cky 2 c# wpf method-call

这似乎可行,但由于某种原因,我没有采取正确的方法.我是C#和.NET的新手,所以我希望这不是一个荒谬的问题:)

Jos*_*h G 6

不知道你为什么要这样做.它似乎不是最好的设计,但如果不知道你在做什么的细节,我不能对此发表评论.以下是如何做到这一点:

在App.Xaml.cs中:

var main = App.Current.MainWindow as MainWindow; // If not a static method, this.MainWindow would work
main.MyFunction();
Run Code Online (Sandbox Code Playgroud)

请注意,您必须在启动后执行此操作.如果要在启动之前执行此操作,则需要创建MainWindow对象并将其分配给this.MainWindow:

var window = new MainWindow();
this.MainWindow = window;

window.Show();

window.MyFunction();
Run Code Online (Sandbox Code Playgroud)