0

ここやさまざまなポータルでいくつかの Q&A を行ってきましたが、うまくいきません... 私のページの向きは縦です...

    <Rectangle x:Name="videoRectangle" Margin="0,0,0,0">
        <Rectangle.Fill>
            <VideoBrush x:Name="viewfinderBrush" AlignmentX="Left" AlignmentY="Top" Stretch="UniformToFill">
                <VideoBrush.RelativeTransform>
                    <CompositeTransform x:Name="videoBrushTransform" CenterX="0.5" CenterY="0.5" />
                </VideoBrush.RelativeTransform>
            </VideoBrush>
        </Rectangle.Fill>
    </Rectangle>

ARPage_OrientationChanged の背後にあるコードが呼び出されることはありません

    public ARPage()
    {
        InitializeComponent();

        this.OrientationChanged += ARPage_OrientationChanged;
    }

    void ARPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
    {
        abc.Text = e.Orientation.ToString();

        switch (e.Orientation)
        {
            case PageOrientation.Landscape:
            case PageOrientation.LandscapeLeft:
                videoBrushTransform.Rotation = 0;
                break;
            case PageOrientation.LandscapeRight:
                videoBrushTransform.Rotation = -45;
                break;
            case PageOrientation.Portrait:
            case PageOrientation.PortraitUp:
                videoBrushTransform.Rotation = -270;
                break;
            case PageOrientation.PortraitDown:
                videoBrushTransform.Rotation = -90;
                break;
        }
    }

ビデオ ブラシは、常に横向きモードでビデオを表示します...

私が間違っていること

4

1 に答える 1

0

コンストラクターでイベントを割り当てる必要はありません。これを行うことができます。

public ARPage()
    {
        InitializeComponent();
    }


protected override void OnOrientationChanged(OrientationChangedEventArgs e)
        {
            abc.Text = e.Orientation.ToString();

            switch (e.Orientation)
            {
                case PageOrientation.Landscape:
                case PageOrientation.LandscapeLeft:
                    videoBrushTransform.Rotation = 0;
                    break;
                case PageOrientation.LandscapeRight:
                    videoBrushTransform.Rotation = -45;
                    break;
                case PageOrientation.Portrait:
                case PageOrientation.PortraitUp:
                    videoBrushTransform.Rotation = -270;
                    break;
                case PageOrientation.PortraitDown:
                    videoBrushTransform.Rotation = -90;
                    break;
            }

            base.OnOrientationChanged(e);
        }
于 2013-02-01T11:48:04.820 に答える