SimpleOrientationSensor Class

簡易方位センサーを表します。

このセンサーは、指定したデバイスの現在の四方向の向き、および上向きや下向きの状態を検出します。

構文


public sealed class SimpleOrientationSensor

属性

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

メンバー

SimpleOrientationSensorクラス には次の種類のメンバーがあります。

イベント

SimpleOrientationSensorクラス にはこれらのイベントがあります。

イベント説明
OrientationChanged Occurs each time the simple orientation sensor reports a new sensor reading

 

メソッド

The SimpleOrientationSensor クラス には次のメソッドがあります。 With 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++]

メタデータ

Windows.winmd

参照

SimpleOrientation センサーのクイック スタート
SimpleOrientation センサーのサンプル

 

 

表示:
© 2014 Microsoft