英語で読む

次の方法で共有


SimpleOrientationSensor クラス

定義

単純な向きセンサーを表します。

実装例については、簡易方位センサーのサンプルをご覧ください。

このセンサーは、指定されたデバイスの現在の象限方向と、その上向きまたは下向きの状態を検出します。

[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SimpleOrientationSensor
継承
Object SimpleOrientationSensor
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

次の例では、XAML と C# を使用して構築された UWP アプリで GetDefault メソッドを使用して、単純な方向センサーへの接続を確立する方法を示します。 単純な方向センサーが見つからない場合、メソッドは null 値を返します。

_sensor = SimpleOrientationSensor.GetDefault();

次の例では、XAML で構築された UWP アプリで 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 のバージョン SDK バージョン 追加された値
1809 17763 FromIdAsync
1809 17763 GetDeviceSelector

プロパティ

DeviceId

SimpleOrientationSensor.FromIdAsync メソッドで使用されるデバイス識別子を取得します。

ReadingTransform

センサー データに適用する必要がある変換を取得または設定します。 適用する変換は、センサー データの配置に使用する表示方向に関連付けられます。

メソッド

FromIdAsync(String)

指定したデバイス識別子に基づいて SimpleOrientationSensor オブジェクトを非同期的に取得します。

GetCurrentOrientation()

既定の単純な向きセンサーを取得します。

GetDefault()

既定の単純な向きセンサーを取得します。

GetDeviceSelector()

使用可能な SimpleOrientationSensor デバイスを列挙するために使用される高度なクエリ構文 (AQS) 文字列を取得します。

イベント

OrientationChanged

単純な向きセンサーが新しいセンサーの読み取りを報告するたびに発生します

適用対象

製品 バージョン
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

こちらもご覧ください