Initialize Component()는 무엇을 하며 WPF에서는 어떻게 동작합니까?
무엇인가.InitializeComponent()
WPF에서는 어떻게 동작합니까?
일반적으로 우선입니다만, 특히 시공 순서의 상세한 내용과 부속 부동산이 있으면 어떤 일이 일어나는지 알고 싶습니다.
문의처InitializeComponent()
(보통 적어도 기본 생성자에서 호출됩니다).Window
그리고.UserControl
)는 실제로는 (처음 예상했던 오브젝트 계층 호출이 아닌) 컨트롤의 부분 클래스에 대한 메서드 호출입니다.
이 방법에서는, XAML 로의 URI 를 특정합니다.Window
/UserControl
로딩 중이고, 로딩 중이고,System.Windows.Application.LoadComponent()
스태틱 메서드 LoadComponent()
는 전달된 URI에 있는 XAML 파일을 로드하여 XAML 파일의 루트 요소에 의해 지정된 객체의 인스턴스로 변환합니다.
좀 더 자세히 보면LoadComponent
의 인스턴스를 만듭니다.XamlParser
및 XAML 트리를 구축합니다.각 노드는 에 의해 해석됩니다.XamlParser.ProcessXamlNode()
이것은 에 전달됩니다.BamlRecordWriter
수업. 잠시 후 BAML이 오브젝트로 변환되는 방법에 대해 조금 혼란스럽지만, 이 정도면 깨달음으로 가는 길에 도움이 될 수도 있습니다.
주의: 흥미롭게도InitializeComponent
의 메서드입니다.System.Windows.Markup.IComponentConnector
인터페이스, 인터페이스Window
/UserControl
partial generated 클래스에서 구현합니다.
코드를 보는 것도 도움이 됩니다.즉, 생성된 부분 클래스(Load Component를 호출하는 클래스)를 실제로 확인할 수 있습니다.
- 관심 있는 Visual Studio 솔루션의 솔루션 탐색기 창으로 이동하십시오.
- Solution Explorer 툴바에는 '모든 파일 표시'라는 버튼이 있습니다.버튼을 전환합니다.
- 다음으로 obj 폴더를 전개한 후 [Debug]폴더 또는 [Release]폴더(또는 구축 중인 설정)를 펼치면 YourClass.g.cs 이라는 이름의 파일이 표시됩니다.
YourClass.g.cs...는 생성된 부분 클래스의 코드입니다.다시 한 번 열어보면 Initialize Component 메서드 및 Load Component 호출 방법 등을 볼 수 있습니다.
언급URL : https://stackoverflow.com/questions/245825/what-does-initializecomponent-do-and-how-does-it-work-in-wpf
'programing' 카테고리의 다른 글
@import vs #import - iOS 7 (0) | 2023.04.15 |
---|---|
WPF 응용 프로그램의 전체 화면 (0) | 2023.04.15 |
목록의 값을 Excel로 내보내기 (0) | 2023.04.15 |
현재 PowerShell 프로세스가 32비트인지 64비트인지를 확인합니다. (0) | 2023.04.15 |
로컬에서 일부 파일을 무시하도록 git을 설정하려면 어떻게 해야 합니까? (0) | 2023.04.10 |