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.

 

Примечания

В следующем примере демонстрируется, как в приложении Магазина Windows на языке XAML и C# используется метод GetDefault для установления подключения к простому датчику положения в пространстве. Если простой датчик ориентации не найден, метод возвращает значение NULL.


_sensor = SimpleOrientationSensor.GetDefault();


В следующем примере демонстрируется, как приложение Магазина Windows на языке XAML регистрирует обработчик событий 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