1. ShutdownMode이용.
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Input;
namespace ThrowWindowParty
{
class ThrowWindowParty : Application
{
[STAThread]
public static void Main()
{
ThrowWindowParty app = new ThrowWindowParty();
//MainWindow가 종료 될때 모두 같이 종료된다.
app.ShutdownMode = ShutdownMode.OnMainWindowClose;
app.Run();
}
protected override void OnStartup(StartupEventArgs args)
{
Window winMain = new Window();
winMain.Title = "Main Window";
winMain.MouseDown += WindowOnMouseDown;
winMain.Show();
for (int i = 0; i < 2; i++)
{
Window win = new Window();
win.Title = "Extra Window No. " + (i + 1);
//작업 표시줄에 표시하지 않는다.
win.ShowInTaskbar = false;
win.Show();
}
}
void WindowOnMouseDown(object sender, MouseButtonEventArgs args)
{
Window win = new Window();
win.Title = "Modal Dialog Box";
win.ShowDialog();
}
}
}
2. Owner 프로퍼티를 이용.
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Input;
namespace ThrowWindowParty
{
class ThrowWindowParty : Application
{
[STAThread]
public static void Main()
{
ThrowWindowParty app = new ThrowWindowParty();
app.Run();
}
protected override void OnStartup(StartupEventArgs args)
{
Window winMain = new Window();
winMain.Title = "Main Window";
winMain.MouseDown += WindowOnMouseDown;
winMain.Show();
for (int i = 0; i < 2; i++)
{
Window win = new Window();
win.Title = "Extra Window No. " + (i + 1);
//win객체는 모달리스가 된다.
win.Owner = winMain;
win.Show();
}
}
void WindowOnMouseDown(object sender, MouseButtonEventArgs args)
{
Window win = new Window();
win.Title = "Modal Dialog Box";
win.ShowDialog();
}
}
}
* 모달리스가 있고 모달이 있다.
* 모달 : MainWindow에 소속되며, 종료가 되야지만 자원이 반환된다. 또한 해당 창이 뛰어져있을때는 다른 창은 동작하지 않는다. ex) win.ShowDialog();
* 모달리스 : 말그대로 모달같지만 모달 같지 않은 녀석인데, 메인이 앞으로 나오지는 않지만 잘 동작한다. 하지만 서브윈도우에 가려 앞으로 나오진 않는다.
'C#의 속삭임' 카테고리의 다른 글
[C#][다국어]리소스 사전을 이용한 다국어 지원 (0) | 2014.05.09 |
---|---|
[C#][WPF][MVVM]TreeView (0) | 2014.04.30 |
[C#][Application][Event]Application의 시작과 종료 이벤트 (0) | 2014.04.24 |
[C#][WPF][이벤트 기초]이벤트 (0) | 2014.04.24 |
[C#][WPF] 클래스 계층도 (0) | 2014.04.23 |