Freigeben über


SimpleOrientationSensor Klasse

Definition

Stellt einen einfachen Orientierungssensor dar.

Eine Beispielimplementierung finden Sie im Beispiel für den einfachen Orientierungssensor.

Dieser Sensor erkennt die aktuelle Quadrantenausrichtung des angegebenen Geräts sowie dessen Face-Up- oder Face-Down-status.

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
Vererbung
Object Platform::Object IInspectable SimpleOrientationSensor
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Im folgenden Beispiel wird veranschaulicht, wie eine mit XAML und C# erstellte UWP-App die GetDefault-Methode verwendet, um eine Verbindung mit einem einfachen Orientierungssensor herzustellen. Wenn kein einfacher Orientierungssensor gefunden wird, gibt die Methode einen NULL-Wert zurück.

_sensor = SimpleOrientationSensor.GetDefault();

Im folgenden Beispiel wird veranschaulicht, wie eine mit XAML erstellte UWP-App einen OrientationChanged-Ereignishandler registriert.

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);
    }
}

Das folgende Beispiel enthält den XAML-Code für den Ereignishandler, der die Orientierungswerte in das Formular der Anwendung schreibt.

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;
    }
}

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
1809 17763 FromIdAsync
1809 17763 GetDeviceSelector

Eigenschaften

DeviceId

Ruft den Gerätebezeichner ab, der in der SimpleOrientationSensor.FromIdAsync-Methode verwendet wird.

ReadingTransform

Ruft die Transformation ab, die auf Sensordaten angewendet werden muss, oder legt diese fest. Transformationen, die angewendet werden sollen, sind an die Anzeigeausrichtung gebunden, an der die Sensordaten ausgerichtet werden sollen.

Methoden

FromIdAsync(String)

Ruft asynchron ein SimpleOrientationSensor-Objekt basierend auf dem angegebenen Gerätebezeichner ab.

GetCurrentOrientation()

Ruft den einfachen Standardausrichtungssensor ab.

GetDefault()

Ruft den einfachen Standardausrichtungssensor ab.

GetDeviceSelector()

Ruft eine AQS-Zeichenfolge (Advanced Query Syntax) ab, die zum Auflisten der verfügbaren SimpleOrientationSensor-Geräte verwendet wird.

Ereignisse

OrientationChanged

Tritt jedes Mal auf, wenn der einfache Orientierungssensor einen neuen Sensorwert meldet

Gilt für:

Weitere Informationen