WPF Xaml MainWindow在使用Show函数调用后消失

时间:2013-07-15 05:16:36

标签: c# wpf xaml

我在Microsoft Expression Blend 4中创建了一个准系统WPF项目。

然后我在Visual Studio 2012中打开了项目,并为项目添加了一个简单的类。

我设置应用程序属性以将此类用作启动对象。

我创建了一个新的主窗口,然后使用show函数作为对象。

窗口弹出一毫秒然后关闭。

如何调用MainWindow使其保持打开状态?

的Class1.cs

//This is the Class I created
using System;
using System.Collections.Generic;

namespace WpfApplication5
{
    static class Class1
    {
        [STAThread]
        static void Main()
        {
            MainWindow winMain = new MainWindow();
            winMain.Show();
        }

    }
}

MainWindow.xaml.cs

//This is the Mainwindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace WpfApplication5
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            this.InitializeComponent();

        }
    }
}

MainWindow.xaml

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="WpfApplication5.MainWindow"
    x:Name="Window"
    Title="MainWindow"
    Width="640" Height="480">

    <Grid x:Name="LayoutRoot"/>
</Window>

的App.xaml

<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="WpfApplication5.App"
    StartupUri="MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>

App.xaml.cs

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Windows;

namespace WpfApplication5
{
public partial class App : Application
    {
    }
}

1 个答案:

答案 0 :(得分:1)

您为应用程序设置了两个入口点。一个在App.xaml中,另一个在Class1.cs中。因此,最好从Class1.cs中删除下面的代码块

[STAThread] 
static void Main() 
{
  MainWindow winMain = new MainWindow();
  winMain.Show();
}