Bagikan melalui


SimpleOrientationSensor Kelas

Definisi

Mewakili sensor orientasi sederhana.

Untuk contoh implementasi, lihat sampel sensor orientasi sederhana.

Sensor ini mendeteksi orientasi kuadran perangkat yang ditentukan saat ini serta status face-up atau face-down-nya.

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
Warisan
Object Platform::Object IInspectable SimpleOrientationSensor
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan XAML dan C# menggunakan metode GetDefault untuk membuat koneksi ke sensor orientasi sederhana. Jika tidak ada sensor orientasi sederhana yang ditemukan, metode akan mengembalikan nilai null.

_sensor = SimpleOrientationSensor.GetDefault();

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan XAML mendaftarkan penanganan aktivitas 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);
    }
}

Contoh berikut berisi kode XAML untuk penanganan aktivitas yang menulis pembacaan orientasi ke formulir aplikasi.

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

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1809 17763 FromIdAsync
1809 17763 GetDeviceSelector

Properti

DeviceId

Mendapatkan pengidentifikasi perangkat yang digunakan dalam metode SimpleOrientationSensor.FromIdAsync .

ReadingTransform

Mendapatkan atau mengatur transformasi yang perlu diterapkan ke data sensor. Transformasi yang akan diterapkan terkait dengan orientasi tampilan untuk menyelaraskan data sensor.

Metode

FromIdAsync(String)

Secara asinkron mengambil objek SimpleOrientationSensor berdasarkan pengidentifikasi perangkat yang ditentukan.

GetCurrentOrientation()

Mendapatkan sensor orientasi sederhana default.

GetDefault()

Mendapatkan sensor orientasi sederhana default.

GetDeviceSelector()

Mengambil string Advanced Query Syntax (AQS) yang digunakan untuk menghitung perangkat SimpleOrientationSensor yang tersedia.

Acara

OrientationChanged

Terjadi setiap kali sensor orientasi sederhana melaporkan pembacaan sensor baru

Berlaku untuk

Lihat juga