我是 WPF 的新手。我在开发 WPF 应用程序时遇到问题,在我想显示欢迎表单之后,我想在其中启动一个类作为启动对象。当我试图将主要方法放在该类中时,将项目属性启动对象设置为该类。我收到此错误“调用线程必须是 STA,因为许多 UI 组件都需要这个。” .
我们如何通过将该类的主要方法作为启动对象来解决此错误?
我是 WPF 的新手。我在开发 WPF 应用程序时遇到问题,在我想显示欢迎表单之后,我想在其中启动一个类作为启动对象。当我试图将主要方法放在该类中时,将项目属性启动对象设置为该类。我收到此错误“调用线程必须是 STA,因为许多 UI 组件都需要这个。” .
我们如何通过将该类的主要方法作为启动对象来解决此错误?
在顶部 App.xaml
Exit="App_Exit"
Startup="App_Startup"
在 app.xaml.cs 中
void App_Startup(object sender, StartupEventArgs e)
private void App_Exit(object sender, ExitEventArgs e)
您可以订阅其他事件,如果您真的需要将 App 覆盖为启动,您需要在 Program.cs 中定义,如下所示:
public static class Program
{
[STAThread]
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
public static void Main(string[] args)
{
在里面的某个地方
App app = new App();
app.InitializeComponent();
app.Run();
当您说“欢迎表格”时,您的意思是Window
?
您是否尝试过设置 App.xaml 的 StartupUri?
<Application x:Class="DemoApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="WelcomeWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>