我将一些代码放在公共的 MainWindow() {}
内部,但是一旦这样做,我就会得到一些晦涩的 XAML 解析错误(不是在我的计算机上,而是在我尝试过的其他 3 台计算机上)
是否有首选的方法在应用程序启动时立即运行代码?
理论上,我希望它能联系服务器并询问是否可以开始。如果不行,我想要应用程序关闭。把它称为临时的副本保护。
我将一些代码放在公共的 MainWindow() {}
内部,但是一旦这样做,我就会得到一些晦涩的 XAML 解析错误(不是在我的计算机上,而是在我尝试过的其他 3 台计算机上)
是否有首选的方法在应用程序启动时立即运行代码?
理论上,我希望它能联系服务器并询问是否可以开始。如果不行,我想要应用程序关闭。把它称为临时的副本保护。
在正常情况下,WPF会为您创建应用程序的入口点Main
方法。以下是您的选择:
Application.Startup
事件处理程序并将代码放在那里。或者,您可以重写OnStartup()
方法。App
的无参数构造函数中(它可能不存在,但你可以创建它)。Main()
方法。有几种方法可以做到这一点。可能最简单的方法是将其放在另一个类中,并在项目属性中告诉Visual Studio您要使用此方法。另一方面,你说你遇到了一些晦涩的XAML解析错误。也许你应该弄清楚它们具体是什么意思?
在 WPF
中有一个名为 Window.Loaded
的事件。
但是如果你想在应用程序加载之前检查运行权限(由于资源消耗或某种业务策略),请使用一个独立的小型bootstrapper
可执行文件,该文件首先由mainexe
启动,然后如果一切正常,bootstrapper
会运行main exe
。
Window.Loaded
仍会被调用,这是提问者认为太晚的。 - svickWindow.Loaded
或使用一个引导程序,后者实现起来更复杂,但可能是OP实际想要的。 - Tigran
wpf
标签,因为涉及到XAML错误和MainWindow
的讨论。 - svick