Поделиться через


SimpleOrientationSensor Класс

Определение

Представляет простой датчик ориентации.

См. пример внедрения в примере с датчиком простого положения в пространстве.

Этот датчик определяет текущую ориентацию квадранта указанного устройства, а также его состояние лицом вверх или вниз.

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
Наследование
Object Platform::Object IInspectable SimpleOrientationSensor
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

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

_sensor = SimpleOrientationSensor.GetDefault();

В следующем примере показано, как приложение UWP, созданное с помощью 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 Версия пакета SDK Добавленная стоимость
1809 17763 FromIdAsync
1809 17763 GetDeviceSelector

Свойства

DeviceId

Возвращает идентификатор устройства, используемый в методе SimpleOrientationSensor.FromIdAsync .

ReadingTransform

Возвращает или задает преобразование, которое необходимо применить к данным датчика. Применяемые преобразования привязаны к ориентации экрана, с которой выравниваются данные датчика.

Методы

FromIdAsync(String)

Асинхронно извлекает объект SimpleOrientationSensor на основе указанного идентификатора устройства.

GetCurrentOrientation()

Возвращает простой датчик ориентации по умолчанию.

GetDefault()

Возвращает простой датчик ориентации по умолчанию.

GetDeviceSelector()

Извлекает строку расширенного синтаксиса запросов (AQS), используемую для перечисления доступных устройств SimpleOrientationSensor .

События

OrientationChanged

Происходит каждый раз, когда простой датчик ориентации сообщает о новом считывании датчика

Применяется к

См. также раздел