다음을 통해 공유


LightSensor.ReadingChanged 이벤트

정의

주변 광원 센서가 새 센서 판독값을 보고할 때마다 발생합니다.

// Register
event_token ReadingChanged(TypedEventHandler<LightSensor, LightSensorReadingChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void ReadingChanged(event_token const* cookie) const;

// Revoke with event_revoker
LightSensor::ReadingChanged_revoker ReadingChanged(auto_revoke_t, TypedEventHandler<LightSensor, LightSensorReadingChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<LightSensor,LightSensorReadingChangedEventArgs> ReadingChanged;
function onReadingChanged(eventArgs) { /* Your code */ }
lightSensor.addEventListener("readingchanged", onReadingChanged);
lightSensor.removeEventListener("readingchanged", onReadingChanged);
- or -
lightSensor.onreadingchanged = onReadingChanged;
Public Custom Event ReadingChanged As TypedEventHandler(Of LightSensor, LightSensorReadingChangedEventArgs) 

이벤트 유형

예제

다음 예제에서는 C# 및 XAML을 사용하여 빌드된 UWP 앱이 ReadingChanged 이벤트 처리기를 등록하는 방법을 보여 줍니다.

private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_sensor != null)
    {
        // Establish the report interval
        _sensor.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _sensor.ReadingChanged += new TypedEventHandler<LightSensor, LightSensorReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No light sensor found", NotifyType.StatusMessage);
    }
}

다음 예제에서는 ReadingChanged 이벤트 처리기를 보여줍니다.

async private void ReadingChanged(object sender, LightSensorReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        LightSensorReading reading = e.Reading;
        ScenarioOutput_LUX.Text = String.Format("{0,5:0.00}", reading.IlluminanceInLux);
    });
}

설명

애플리케이션은 센서 판독값을 얻기 위해 이 이벤트 처리기를 등록할 수 있습니다. 애플리케이션은 원하는 ReportInterval을 설정해야 합니다. 이렇게 하면 애플리케이션의 요구 사항을 충족하기 위해 리소스를 할당해야 한다는 것을 센서 드라이버에 알릴 수 있습니다.

애플리케이션은 ReportInterval 속성을 설정하여 이 이벤트의 빈도를 설정할 수 있습니다.

적용 대상