[Wpf学习] 1.传说中的Main

Posted etoumao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Wpf学习] 1.传说中的Main相关的知识,希望对你有一定的参考价值。

原来的C#程序都有Main的,现在用vs新建一个Wpf项目,启动似乎变成App.xmal,前期项目中为了获取启动参数,很是折腾了一番:

1.先是修改App.xaml,添加StartUp事件

<Application x:Class="YKMain.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:YKMain"
             Startup="Application_Startup">

2.然后编辑Application_Startup,判断e.Args数组

  private async void Application_Startup(object sender, StartupEventArgs e)
  {
  }

总感觉跟又臭又长的裹脚布一样,不爽。学习后,找回了传说中的Main,莫有App.Xaml,直截了当。

using System;
using System.Windows;

namespace L1_NoXaml
{
    public class Program : Application
    {
        [STAThread]
        static void Main(string[] args)
        {
            Program app = new Program();
            app.MainWindow = new Window1();
            app.MainWindow.ShowDialog();
        }
    }
}


PS:2020/3/3完善了一下

using System;
using System.Windows;

namespace YKMainCore
{
    public class Program : Application
    {
        [STAThread]
        static void Main(string[] args)
        {
            SplashScreen splashScreen = new SplashScreen("id.png");
            splashScreen.Show(true);

            MainWindow window = new MainWindow()
            {
                WindowStyle = WindowStyle.None,
                ResizeMode = ResizeMode.NoResize,
                WindowState = WindowState.Normal,
                ShowInTaskbar = false,
                Background = System.Windows.Media.Brushes.Transparent,
                AllowsTransparency = true,
                Left = 0,
                Top = 0,
                Width = SystemParameters.PrimaryScreenWidth,
                Height = SystemParameters.PrimaryScreenHeight
            };

            Program app = new Program();
            app.Run(window);
        }
    }
}

以上是关于[Wpf学习] 1.传说中的Main的主要内容,如果未能解决你的问题,请参考以下文章

喵哈哈村的代码传说 第一章 冒泡排序

201555332盛照宗—网络对抗实验1—逆向与bof基础

Wpf新建除了main之外的xaml

NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段

片段问题中的 NullPointerException

WPF中的多语言[关闭]