2012-07-09 2 views
0

wpf 또는 C# 언어에 익숙하지 않지만 xaml 코드를 생성하고 개념적 언어 모델 (DSL)의 cs 코드이므로 xaml 태그를 생성하기 위해 많은 템플릿을 작성했습니다. 및 cs 코드를 만들고 MVVM을 사용하여 내 데이터 모델에 바인딩합니다.C# 클래스가 xaml 파일에 속합니다.

namespace $domain 
{ 
    /// <summary> 
    /// Interaction logic for $name.xaml 
    /// </summary> 
    public partial class $name : Window 
    { 
     public $name() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

내 질문은 : 내 XAML 파일에 대한 CS 클래스를 생성하는 예를 내 템플릿에 대한 이다 충분히 내 XAML 파일에 대한 CS 클래스를 생성하는 코드의 일부이다? InitializeComponent 메서드는 어디에 있습니까?

는이 내 XAML 템플릿

<Window x:Class="$domain.$name" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:vm="clr-namespace:$dmdomain" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="$title" Height="350" Width="525"> 
    <Window.DataContext> 
     <vm:$dataModel /> 
    </Window.DataContext> 
    $content 
</Window> 

답변

3

당신이 볼 수 있듯이, 클래스가 Window을 상속합니다. 당신이 체크 아웃 할 수 있습니다

: http://en.csharp-online.net/XAML%E2%80%94Code-Behind_Class

발췌 : 당신이 당신의 응용 프로그램을 컴파일 할 때 생성 있기 때문에

의 InitializeComponent() 메소드는 소스 코드 에 표시되지 않습니다. 본질적으로 모든 InitializeComponent()는 System.Windows.Application 클래스의 LoadComponent() 메서드를 호출합니다. LoadComponent() 메서드 은 어셈블리에서 BAML (컴파일 된 XAML)을 추출하고 을 사용하여 사용자 인터페이스를 만듭니다. BAML을 구문 분석 할 때마다 컨트롤을 만들고 해당 속성을 설정하며 모든 이벤트 처리기를 연결합니다.

+0

답장을 보내 주셔서 감사합니다.이 xaml 파일로 충분합니다. 본질적으로 – Pooya

+0

. XAML을 개발하면서 추가하는 구성 요소도 나타나야합니다. – JNF

+0

그래서 내 구성 요소를 탐지하여 초기화하는 방법은 무엇입니까? 어떻게 작동합니까? – Pooya

관련 문제