기본적으로 XAML 코드는 윈도우 창에서 동작할 수 있도록 되어있습니다.
그런데, Visual Studio에서 사용할 때에는
C#과 관련된 코드들이 포함되어 사용하게 됩니다.
그런데, C#과 관련된 코드들을 모두 제거하게 된다면?
Visual Studio에서 사용할 때에는
반쪽 코드가 사라졌기 때문에 오류가 발생합니다.
이건 Visual Studio에의 경우고...
C#과 관련된 어떠한 코드도 존재하지 않는다면,
XAML로만 동작하는 언어가 되기 때문에 다른 컨테이너를 통해 실행이 가능하도록 할 수 있습니다.
대표적으로 kaxaml 이라는 프로그램이 있지요.
아무튼...
순수하게 XAML 코드로 만들어졌기 때문에,
kaxaml과 같이 XAML 컴파일러를 동작할 수 있는 프로그램이라면 코드가 실행되지요.
또한, [프로젝트] > [페이지 추가]를 하게 되면,
페이지에 대한 파일이 하나 생성됩니다.
Page라는 것은 컨테이너라는 요소만 있으면,
그 컨테이너 요소에서 실행이 됩니다.
이 컨테이너의 역할을 브라우져도 해주지요.
즉, 페이지라는 것은 컨테이너 개념을 사용하는데
어떤 컨테이너에 올라갈 수 있다는 것을 의미하는 것입니다.
이와 같은 방식을 사용하게되면, 웹 브라우저상에도 프로그램을 돌릴 수 있게 됩니다.
이렇게 웹상에서 돌아갈 수 있도록 바이너리 코드로 만들어주는 것이
XBAPs 라는 프레젠테이션 프레임워크입니다.
즉, 순수한 XML 파일을 바이너리 코드로 컴파일 해서 만들어 놓으면
XBAPs가 실행해서 보이도록 해주는 것이지요.
물론... 지금은 사용하지 않습니다...
WPF의 일부 기능과 Web의 기능을 섞어서 SilverLight라는 프레임워크를 만들었는데,
표준이 아니기 때문에 죽어가고 있습니다...
아무튼...
웹쪽 기술로 나뉜 WPF라고 할 수 있는데,
순수하게 XAML이라는 언어만을 사용해서 개발되어 컴파일이 되면,
브라우저에서 실행되고 이를 XBAPs를 통해 가능하다는 것입니다.
'삽질의 현장 > - .NET' 카테고리의 다른 글
#107_닷넷(.NET)_ WPF_ 레이아웃(Layout) (0) | 2015.11.26 |
---|---|
#106_닷넷(.NET)_ WPF_ WPF 타입 상속 구조 (0) | 2015.11.26 |
#104_닷넷(.NET)_ WPF_ XAML 특성&속성&이벤트 (0) | 2015.11.25 |
#103_닷넷(.NET)_ WPF_ XAML의 기능 (0) | 2015.11.25 |
#102_닷넷(.NET)_ WPF_ 콘텐츠 모델(Contents Model) (0) | 2015.11.25 |