WPF에서 Args로 시작할 Window 지정하기

wpf 기본 윈도우

WPF 프로젝트를 생성하면 기본적으로 MainWindow.xaml이 시작윈도우로 지정된다.

프로그램 시작할때 args의 값에 따라 다른 윈도우가 기본적으로 뜨게 할려고 하는 방법을 여기에 정리해둔다.

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

App.xaml 파일을 열어보면 StartupUri 라는 부분이 있다. (5번줄)
이 부분을 지우고 Startup이라고 쓰면 새로운 핸들러 추가가 가능하다.

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

핸들러를 추가하면 App.xaml.cs파일 안에

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

라는 메소드가 추가된다.
이 안에 args로 구분해서 다른 윈도우를 띄워주면 된다.

private void Application_Startup(object sender, StartupEventArgs e)
{
	switch(e.Args[0])
	{
		case "test":
			MainWindow wnd = new MainWindow();
			wnd.Show();
			break;
		default:
			MainWindow3 wnd = new MainWindow3();
			wnd.Show();
			break;
	}
}

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다