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.

 

备注

下面的示例演示使用 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 Sensor 快速入门
SimpleOrientation Sensor 示例

 

 

显示:
© 2015 Microsoft