DependencyObject.Dispatcher Property

이 개체와 연결된 CoreDispatcher를 가져옵니다.

구문


public CoreDispatcher Dispatcher { get; }

속성 값

형식: CoreDispatcher

이 개체가 연결된 CoreDispatcher입니다.

설명

DependencyObject를 UI 스레드에 만들어야 합니다. Dispatcher 속성은 RunAsync 및 대기 가능 함수를 사용하여 다른 스레드에 대한 호출을 마샬링하는 데 사용할 수 있는 CoreDispatcher를 제공합니다. awaitable 함수에 대한 자세한 내용은 빠른 시작: 비동기 API 호출을 참조하십시오.

Dispatcher 속성은 앱 UI 스레드와 연결된 CoreDispatcher를 가져옵니다. UI의 일부인 DependencyObject에서 이 메서드를 호출할 수 있습니다. 데이터 바인딩 시나리오에서의 소스인 DependencyObject에서 호출할 수도 있습니다.

또한 Window.Dispatcher는 UI 스레드와 연결된 CoreDispatcher를 참조합니다. Window.Dispatcher는 기본적으로 Window 클래스가 쉽게 액세스할 수 있도록 하는 CoreWindow.Dispatcher를 둘러싼 래퍼입니다.

주의   디자인 타임 보기에서는 Dispatcher 값에 대한 연결을 사용할 수 없습니다. Dispatcher 값을 사용하는 사용자 지정 컨트롤을 만들었으며 생성자, Loaded 처리기 등 디자인 뷰에서 사용하는 코드 경로를 통해 디자인 타임 환경에서 해당 코드에 액세스하는 경우 이로 인해 문제가 발생할 수 있습니다. 사용자 지정 컨트롤을 작성할 때 이 문제가 발생하면 DesignModeEnabledtrue일 때 해당 코드를 호출하지 않는 것과 같이 사용자의 코드에 가드 조건을 사용해보십시오.

예제

이 예제에서는 Page에 대한 코드 숨김 파일의 암시적 this에 대한 Dispatcher의 사용을 보여 줍니다. 이 예제에서는 람다 식을 사용하여 DispatchedHandler 구현을 추가합니다. 처리기 자체에서는 UI 스레드에서 실행되지 않는 Accelerometer.ReadingChanged 이벤트를 처리 중입니다.


        private async void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e)
        {
            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                AccelerometerReading reading = e.Reading;
                ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.AccelerationX);
                ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.AccelerationY);
                ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.AccelerationZ);
            });
        }

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadata

Windows.winmd

참고 항목

DependencyObject

 

 

표시:
© 2014 Microsoft. All rights reserved.