퇴근5분전

Application
 .Run() 응용프로그램 시작
 .Shutdown() 응용프로그램 종료
 .Current 객체 종료시까지 데이타를 공유가능 ( Asp.Net에서의 세션같은 느낌이랄까? )
- 다양한 리소스를 관리함.
 
 .Run()메서드의 호출을 통해 StartupUri 에 명시된 XAML코드를 해석한후 객체를 생성. 출력하는 구조임.

Application 라이프사이클

1. Application 객체 생성
2. Run() 호출
3. Application.StartUp이벤트 발생
4. 응용프로그램을 구성하는 하나 이상의 Window 객체 생성
5. Application.Shutdown() 호출
6. Application.Exit() 호출
7. Run() 종료

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

startupUri를 통해 시작될 페이지 지정.
또는 StartUp이벤트를 이용해 시작될 페이지를 실행가능

~ app.xaml
<Application x:Class="WpfApplication1.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Startup="Application_Startup">
    <Application.Resources>
        
    </Application.Resources>
</Application>

~app.xaml.cs
    /// <summary>
    /// App.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class App : Application
    {
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            Window wd = new Window2();
            wd.Title = "Application_Startup으로 시작";
            wd.Show();
        }
    }
사용자 삽입 이미지
<실행화면>


.Current 사용
  - 저장
  Application.Current.Properties["키명"] = 데이타객체;
  - 읽기
  데이타객체 = Application.Current.Properties["키명"];

----------------------------------------------------------------------------------------
윈도우
  MDI는 지원하지 않음.
  단위화면( Form같은.. )

윈도우 라이프사이클 ( Event )
  1. 해당윈도우 생성자 호출
  2. Initialized()
  3. Activiated()
  4. Loaded()
  5. ContentRendered() = 윈도우가 화면에 최초출력될때 작업완료됨.
  6. 윈도우와 사용자간 이벤트 상호작용 {  ex ) 버튼클릭.... 같은 }
  7. Closing()
  8. Unloaded()
  9. Deatctivated()
  10. Closed()

윈도우 실행
 <Show(),Visibility 프로퍼티 = 모달리스>, < ShowDialog() = 모달 >를  이용함.

관리되는 윈도우..
: Application.Current.Windows 라는 속성으로 현재 응용프로그램에서 사용하는 윈도우를 관리할수 있음.
MDI 를 지원하지 않기에...





- 출처 : .Net 3.5 차세대 개발 프로그래밍 -  책에서 일부 정리 함. ( 저작권 문제시 삭제 할 것임. )
          자세한 내용은 책을 통해 확인하시길...

'# 3) .Net ( Vs 2008 ) > WPF' 카테고리의 다른 글

스타일  (0) 2009.12.26
리소스  (0) 2009.12.26
레이아웃 컨트롤  (0) 2009.12.26
유저컨트롤사용!  (0) 2009.12.26
WPF 기초...  (0) 2009.12.26