SimpleOrientationSensor.OrientationChanged イベント

定義

単純な向きセンサーが新しいセンサーの読み取りを報告するたびに発生します

// Register
event_token OrientationChanged(TypedEventHandler<SimpleOrientationSensor, SimpleOrientationSensorOrientationChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void OrientationChanged(event_token const* cookie) const;

// Revoke with event_revoker
SimpleOrientationSensor::OrientationChanged_revoker OrientationChanged(auto_revoke_t, TypedEventHandler<SimpleOrientationSensor, SimpleOrientationSensorOrientationChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<SimpleOrientationSensor,SimpleOrientationSensorOrientationChangedEventArgs> OrientationChanged;
function onOrientationChanged(eventArgs) { /* Your code */ }
simpleOrientationSensor.addEventListener("orientationchanged", onOrientationChanged);
simpleOrientationSensor.removeEventListener("orientationchanged", onOrientationChanged);
- or -
simpleOrientationSensor.onorientationchanged = onOrientationChanged;
Public Custom Event OrientationChanged As TypedEventHandler(Of SimpleOrientationSensor, SimpleOrientationSensorOrientationChangedEventArgs) 

イベントの種類

次の例では、C# と XAML を使用して構築された UWP アプリが 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 で構築された UWP アプリが OrientationChanged イベント ハンドラーを登録する方法を示します。

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

適用対象