SimpleOrientationSensor Class

代表簡單的方向感應器。

這個感應器會偵測指定裝置的目前象限方向,以及它正面朝上或朝下狀態。

語法


public ref class SimpleOrientationSensor sealed 

屬性

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

成員

SimpleOrientationSensor類別 具有下列類型的成員:

事件

SimpleOrientationSensor類別 具有這些事件。

事件描述
OrientationChanged Occurs each time the simple orientation sensor reports a new sensor reading

 

方法

The SimpleOrientationSensor 類別 擁有這些方法。 使用 C#、Visual Basic 和 C++,它也會繼承方法自Object 類別.

方法描述
GetCurrentOrientation Gets the default simple orientation sensor.
GetDefault Gets the default simple orientation sensor.

 

備註

下列範例示範以 XAML 和 C# 建置的 Windows 市集應用程式如何使用 GetDefault 方法,建立與簡單方向感應器的連線。如果找不到簡單方向感應器,則方法會傳回 null 值。


_sensor = SimpleOrientationSensor.GetDefault();


下列範例會示範以 XAML 建置的 Windows 市集應用程式如何註冊 OrientationChanged 事件處理常式。


private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_sensor != null)
    {
        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _sensor.OrientationChanged += new TypedEventHandler<SimpleOrientationSensor, SimpleOrientationSensorOrientationChangedEventArgs>(OrientationChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;

        // Display the current orientation once while waiting for the next orientation change
        DisplayOrientation(ScenarioOutput_Orientation, _sensor.GetCurrentOrientation());
    }
    else
    {
        rootPage.NotifyUser("No simple orientation sensor found", NotifyType.StatusMessage);
    }
}


下列範例包含將方向讀數寫入至應用程式表單之事件處理常式的 XAML 程式碼。


async private void OrientationChanged(object sender, SimpleOrientationSensorOrientationChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        DisplayOrientation(ScenarioOutput_Orientation, e.Orientation);
    });
}



private void DisplayOrientation(TextBlock tb, SimpleOrientation orientation)
{
    switch (orientation)
    {
        case SimpleOrientation.NotRotated:
            tb.Text = "Not Rotated";
            break;
        case SimpleOrientation.Rotated90DegreesCounterclockwise:
            tb.Text = "Rotated 90 Degrees Counterclockwise";
            break;
        case SimpleOrientation.Rotated180DegreesCounterclockwise:
            tb.Text = "Rotated 180 Degrees Counterclockwise";
            break;
        case SimpleOrientation.Rotated270DegreesCounterclockwise:
            tb.Text = "Rotated 270 Degrees Counterclockwise";
            break;
        case SimpleOrientation.Faceup:
            tb.Text = "Faceup";
            break;
        case SimpleOrientation.Facedown:
            tb.Text = "Facedown";
            break;
        default:
            tb.Text = "Unknown orientation";
            break;
    }
}


需求

支援的最小用戶端

Windows 8 [Windows 市集應用程式, 桌面應用程式]

支援的最小伺服器

不支援 [Windows 市集應用程式, 桌面應用程式]

命名空間

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadata

Windows.winmd

請參閱

SimpleOrientation 感應器快速入門
SimpleOrientation 感應器範例

 

 

顯示:
© 2015 Microsoft