Application 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
앱 및 사용 가능한 서비스를 캡슐화합니다.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Application
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Application
Public Class Application
<Application />
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
설명
Application 클래스는 앱을 캡슐화하고 다음 서비스를 제공합니다.
- 앱 진입점, 특히 다양한 활성화 계약의 경우
- 앱 수명 관리
- 앱 범위 리소스
- 처리되지 않은 예외 검색
Application 개체는 일반적으로 App.xaml에 대한 초기 XAML에서 제공됩니다. Visual Studio의 기본 프로젝트 템플릿은 애플리케이션에서 파생되는 클래스를 생성 App
하고 초기화 코드를 추가할 수 있는 진입점을 제공합니다.
클래스는 App
생성자에서 생성된 InitializeComponent
메서드를 호출하여 해당 XAML에 자신을 연결합니다. 생성자에 추가 초기화 코드를 App
추가할 수 있지만 일반적으로 처리기를 애플리케이션 이벤트에 연결하는 코드만 추가합니다. 다른 초기화 코드의 경우 OnLaunched와 같은 하나 이상의 초기화 메서드를 재정의해야 합니다.
시스템은 사용자가 다른 앱 또는 데스크톱으로 전환할 때마다 앱을 일시 중단하고 사용자가 앱으로 다시 전환할 때마다 앱을 다시 시작하면 앱 수명을 처리합니다. 그러나 시스템은 리소스를 확보하기 위해 일시 중단된 동안 앱을 종료할 수도 있습니다. 일시 중단 이벤트를 처리하여 종료 시 앱 상태를 저장하고 OnLaunched 메서드를 재정의하여 앱 상태를 복원해야 합니다. 앱이 일시 중단되는 동안 변경되었을 수 있는 표시된 콘텐츠를 새로 고쳐야 하는 경우에만 Resuming 이벤트를 처리해야 합니다. 앱이 다시 시작될 때 다른 앱 상태를 복원할 필요가 없습니다.
애플리케이션 모델, codegen 및 활성화 시퀀스의 위치 때문에 애플리케이션에는 XAML 사용에 대한 몇 가지 제한 사항이 있습니다.
- xmlns 선언 및 x:Class 이외의 다른 특성은 루트 태그에 표시할
Application
수 없습니다. - 프로젝트 템플릿 App.xaml 페이지에서 제공되는 x:Class 값을 변경하지 마세요. 빌드 작업에 존재하는 명명 체계를 사용하는 방법에 대한 추가 종속성이 있습니다.
- XAML에서 애플리케이션 이벤트 처리기를 연결하지 마세요. 모든 이벤트 배선은 코드(일반적으로 생성자)에서 수행해야 합니다. 또한 일반적으로 이벤트에 대한 이벤트 구문 대신 메서드 재정의를 사용합니다(예: 애플리케이션 수명 주기의 해당 단계에 응답하기 위해 OnActivated 를 재정의합니다.)
- XAML의 Application instance 유일하게 필요한 속성은 XAML 속성 요소 사용량을 사용하여 Application.Resources 속성을 채우는 요소 집합입니다. 자세한 내용은 리소스를 참조하세요. 앱 코드가 catch하지 않는 예외에 대한 일반적인 오류 처리를 제공하려면 UnhandledException 이벤트를 처리합니다.
참고
Application 기본 파일의 이름은 App.xaml
이어야 합니다.
버전 기록
Windows 버전 | SDK 버전 | 추가된 값 |
---|---|---|
1607 | 14393 | EnteredBackground |
1607 | 14393 | FocusVisualKind |
1607 | 14393 | LeavingBackground |
1607 | 14393 | OnBackgroundActivated |
1607 | 14393 | RequiresPointerMode |
1703 | 15063 | HighContrastAdjustment |
생성자
Application() |
Application 클래스의 새 instance 초기화합니다. |
속성
Current |
현재 애플리케이션에 대한 Application 개체를 가져옵니다. |
DebugSettings |
디버그 환경에서 실행할 때 앱이 작동하는 방식을 선언하는 개체를 가져옵니다. |
FocusVisualKind |
앱이 포커스가 있는 UI 요소를 나타내는 데 사용할 수 있는 시각적 피드백 유형을 가져오거나 설정합니다.
|
HighContrastAdjustment |
고대비 테마를 사용할 때 프레임워크가 시각적 속성을 자동으로 조정하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
RequestedTheme |
앱의 전체 테마에 대한 밝은 어두운 기본 설정을 결정하는 값을 가져오거나 설정합니다. |
RequiresPointerMode |
UWP 앱이 마우스 모드를 지원하는지 여부를 가져오거나 설정하며, 이는 게임 패드 또는 원격 제어와 같은 비 포인터 입력 디바이스와의 포인터 상호 작용 환경을 에뮬레이트합니다. (중첩된 모든 요소는 이 동작을 상속합니다.) |
Resources |
스타일, 템플릿 및 브러시와 같은 애플리케이션 범위 리소스의 컬렉션을 가져옵니다. |
메서드
이벤트
EnteredBackground |
앱이 포그라운드에서 백그라운드로 이동할 때 발생합니다. |
LeavingBackground |
앱이 백그라운드에서 포그라운드로 이동할 때 발생합니다. |
Resuming |
애플리케이션이 일시 중단됨 상태에서 실행 중 상태로 전환될 때 발생합니다. |
Suspending |
애플리케이션이 다른 상태에서 일시 중단됨 상태로 전환될 때 발생합니다. |
UnhandledException |
네이티브 수준 Windows 런타임 오류에서 전달된 대로 앱 코드에서 예외를 처리할 수 있는 경우에 발생합니다. 앱은 이벤트 데이터에서 처리된 것으로 발생을 표시할 수 있습니다. |