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) 

事件類型

範例

下列範例示範如何使用 C# 和 XAML 建置的 UWP 應用程式註冊其 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。 這會通知感應器驅動程式應該配置資源以滿足應用程式的需求。

適用於

另請參閱