Condividi tramite


SimpleOrientationSensor Classe

Definizione

Rappresenta un semplice sensore di orientamento.

Per un'implementazione di esempio, vedere l'esempio di sensore di orientamento semplice.

Questo sensore rileva l'orientamento del quadrante corrente del dispositivo specificato, nonché lo stato del viso verso l'alto o verso il basso.

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
Ereditarietà
Object Platform::Object IInspectable SimpleOrientationSensor
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

Nell'esempio seguente viene illustrato come un'app UWP compilata con XAML e C# usi il metodo GetDefault per stabilire una connessione a un semplice sensore di orientamento. Se non viene trovato alcun sensore di orientamento semplice, il metodo restituirà un valore Null.

_sensor = SimpleOrientationSensor.GetDefault();

Nell'esempio seguente viene illustrato come un'app UWP compilata con XAML registra un gestore eventi 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);
    }
}

L'esempio seguente contiene il codice XAML per il gestore eventi che scrive le letture dell'orientamento nel modulo dell'applicazione.

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

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
1809 17763 FromIdAsync
1809 17763 GetDeviceSelector

Proprietà

DeviceId

Ottiene l'identificatore del dispositivo usato nel metodo SimpleOrientationSensor.FromIdAsync .

ReadingTransform

Ottiene o imposta la trasformazione che deve essere applicata ai dati del sensore. Le trasformazioni da applicare sono associate all'orientamento dello schermo con cui allineare i dati del sensore.

Metodi

FromIdAsync(String)

Recupera in modo asincrono un oggetto SimpleOrientationSensor in base all'identificatore del dispositivo specificato.

GetCurrentOrientation()

Ottiene il sensore di orientamento semplice predefinito.

GetDefault()

Ottiene il sensore di orientamento semplice predefinito.

GetDeviceSelector()

Recupera una stringa AQS (Advanced Query Syntax) usata per enumerare i dispositivi SimpleOrientationSensor disponibili.

Eventi

OrientationChanged

Si verifica ogni volta che il sensore di orientamento semplice segnala una nuova lettura del sensore

Si applica a

Vedi anche