[Wpf學習] 1.傳說中的Main

原來的C#程序都有Main的,如今用vs新建一個Wpf項目,啓動彷佛變成App.xmal,前期項目中爲了獲取啓動參數,非常折騰了一番:數組

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

<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數組async

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完善了一下spa

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);
        }
    }
}
相關文章
相關標籤/搜索