LightSensor.ReadingChanged 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
每次环境光传感器报告新的传感器读数时发生。
// 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 属性来设置此事件的频率。