0

我是 WPF 的新手。我在开发 WPF 应用程序时遇到问题,在我想显示欢迎表单之后,我想在其中启动一个类作为启动对象。当我试图将主要方法放在该类中时,将项目属性启动对象设置为该类。我收到此错误“调用线程必须是 STA,因为许多 UI 组件都需要这个。” .

我们如何通过将该类的主要方法作为启动对象来解决此错误?

4

2 回答 2

2

在顶部 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();
于 2013-04-25T15:29:43.983 回答
-1

当您说“欢迎表格”时,您的意思是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>
于 2013-04-25T12:21:47.250 回答