LightSensor.ReadingChanged Event
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs each time the ambient-light sensor reports a new sensor reading.
// 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)
Event Type
Examples
The following example demonstrates how a UWP app built with C# and XAML registers its ReadingChanged event handler.
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);
}
}
The following example shows the ReadingChanged event handler.
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);
});
}
Remarks
An application may register this event handler to obtain sensor readings. The application must establish a desired ReportInterval. This informs the sensor driver that resources should be allocated to satisfy the requirements of the application.
Applications can set the frequency of this event by setting the ReportInterval property.