Compass.ReadingChanged 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
每次指南針報告新的感應器讀數時發生。
// 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)
事件類型
範例
下列範例示範如何使用 C# 和 XAML 建置的 UWP 應用程式註冊其 ReadingChanged 事件處理常式。
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);
}
}
下列範例顯示 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";
}
});
}
備註
應用程式可以註冊此事件處理常式以取得感應器讀數。 應用程式必須建立所需的 ReportInterval。 這會通知感應器驅動程式應該配置資源以滿足應用程式的需求。
應用程式可以藉由設定 ReportInterval 屬性來設定此事件的頻率。