Bagikan melalui


Compass.ReadingChanged Kejadian

Definisi

Terjadi setiap kali kompas melaporkan pembacaan sensor baru.

// Register
event_token ReadingChanged(TypedEventHandler<Compass, CompassReadingChangedEventArgs const&> const& handler) const;

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

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

Jenis Acara

Contoh

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan C# dan XAML mendaftarkan penanganan aktivitas ReadingChanged-nya .

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

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _compass.ReadingChanged += new TypedEventHandler<Compass, CompassReadingChangedEventArgs>(ReadingChanged);

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

Contoh berikut menunjukkan penanganan aktivitas ReadingChanged.

async private void ReadingChanged(object sender, CompassReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        CompassReading reading = e.Reading;
        ScenarioOutput_MagneticNorth.Text = String.Format("{0,5:0.00}", reading.HeadingMagneticNorth);
        if (reading.HeadingTrueNorth != null)
        {
            ScenarioOutput_TrueNorth.Text = String.Format("{0,5:0.00}", reading.HeadingTrueNorth);
        }
        else
        {
            ScenarioOutput_TrueNorth.Text = "No data";
        }
    });
}

Keterangan

Aplikasi dapat mendaftarkan penanganan aktivitas ini untuk mendapatkan pembacaan sensor. Aplikasi harus membuat ReportInterval yang diinginkan. Ini menginformasikan driver sensor bahwa sumber daya harus dialokasikan untuk memenuhi persyaratan aplikasi.

Aplikasi dapat mengatur frekuensi peristiwa ini dengan mengatur properti ReportInterval .

Berlaku untuk