Accelerometer.ReadingChanged Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит каждый раз, когда акселерометр сообщает о новых показаниях датчика.
// Register
event_token ReadingChanged(TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs const&> const& handler) const;
// Revoke with event_token
void ReadingChanged(event_token const* cookie) const;
// Revoke with event_revoker
Accelerometer::ReadingChanged_revoker ReadingChanged(auto_revoke_t, TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<Accelerometer,AccelerometerReadingChangedEventArgs> ReadingChanged;
function onReadingChanged(eventArgs) { /* Your code */ }
accelerometer.addEventListener("readingchanged", onReadingChanged);
accelerometer.removeEventListener("readingchanged", onReadingChanged);
- or -
accelerometer.onreadingchanged = onReadingChanged;
Public Custom Event ReadingChanged As TypedEventHandler(Of Accelerometer, AccelerometerReadingChangedEventArgs)
Тип события
Примеры
В следующем примере показано, как приложение UWP, созданное с помощью C# и XAML, регистрирует обработчик событий ReadingChanged .
private void ScenarioEnable(object sender, RoutedEventArgs e)
{
if (_accelerometer != null)
{
// Establish the report interval
_accelerometer.ReportInterval = _desiredReportInterval;
Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
_accelerometer.ReadingChanged += new TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);
ScenarioEnableButton.IsEnabled = false;
ScenarioDisableButton.IsEnabled = true;
}
else
{
rootPage.NotifyUser("No accelerometer found", NotifyType.StatusMessage);
}
}
В следующем примере показан обработчик событий ReadingChanged.
async private 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);
});
}
Комментарии
Приложение может зарегистрировать этот обработчик событий для получения показаний датчика. Приложение должно установить нужный ReportInterval. Это информирует драйвер датчика о том, что ресурсы должны быть выделены для удовлетворения требований приложения.