SimpleOrientationSensor クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
public ref class SimpleOrientationSensor sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SimpleOrientationSensor final
[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
Public NotInheritable Class 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 |
単純な向きセンサーが新しいセンサーの読み取りを報告するたびに発生します |